vinylwalk3r / jdownloader-2-dark-theme Goto Github PK
View Code? Open in Web Editor NEWA dark theme for the download manager JDownloader 2
License: GNU General Public License v3.0
A dark theme for the download manager JDownloader 2
License: GNU General Public License v3.0
i found some reference of pre-installed version : https://github.com/suratovvlad/qbittorrent-installer
is it possible to do this on jdownloader too?
This can be done simply by renaming the custom SyntheticaBlackEyeLookAndFeel.json
to FlatDarkLaf.json
and choosing the FLATLAF_DARK theme. Instead of BLACK_EYE.
The current recommendations on how to enable the application-wide Dark Mode (on macOS) for JDownloader2 doesn't work, resulting in a light title bar.
macOS Mojave 10.14.6 (18G4032)
I tried to make JDownloader v2.0 as dark as possible and usefull for a long time.
I was able to tweak some color settings but I was all time looking for a better way.
I was probably on this page few times and it never worked.
Until now, when I need to reinstall JDownloader because it became unstable with many graphical glitches.
I was never able to install any theme downloaded from Internet, but now I found a way to make it with JDownloader-2-Dark-Theme-master and here comes how-to.
It was made on Windows 10, and it should work on Windows 8 also, and probably other Windows also.
Backup your JDownloader settings: Menu File->Backup-> Backup all settings.
Install JDownloader v2.0.
Make automatic update, and start download something from youtube, this way you can download ffmpeg, because later it can broke theme.
Next set Look and Fell BlackEye theme, it will download and install Synthetica I think.
Restart JDownloader, check if the BlackEye is set and there should be some changes to darker color but not all is nice.
Close Downloader and now is the moment to change few things in the install folder.
Copy syntheticaBlackEye.jar from JDownloader-2-Dark-Theme-master\ to libs\laf, first you can alter it to make green progress bar (recompress file with new pictures from
JDownloader-2-Dark-Theme-master\themeNameHere.jar).
This is optional, but it helps me:
-in themes\standard\org\jdownloader\images\ there are popDownLarge.png and popUpLarge.png, wide black arrows, first I made them white, and copied over popDownSmall.png and popUpSmall.png, it makes some elements of interface more visible.
-in themes\standard\org\jdownloader\images\exttable\ there are two files, sortAsc.png and sortDesc.png, they are two little black arrows, I changed them to white arrows which you can later see when you sort columns (very small, too small).
-you can also edit pictures from themes\standard\org\jdownloader\images\logo, PNGs with the word "logo" in the names are JDownloader icon used as the icon of program on Taskbar, it can also be (dark) B&W.
Restore your backup, if you have one, set BlackEye theme, restart and check if it is set and then backup this settings to file, example backup.jd2backup
backup.jd2backup is a zip file, unpack it and you get cfg\ folder, to this folder you need to copy two files:
-to cfg\laf\ copy SyntheticaBlackEyeLookAndFeel.json from
JDownloader-2-Dark-Theme-master\jd2backups\JDownloaderDarkOnly, lenght 1032 bytes. Because when the theme is set all changes to Advanced Settings colors don't work, and there were problems with proposed settings so I changed three lines in the file to:
"colorfortablepackagerowforeground" : "#ffeeeeee",
"colorfortablemouseoverrowbackground" : "#ff333388",
"colorfortablealternaterowbackground" : "#ff444444",
-to cfg\ copy SyntheticaBlackEyeLookAndFeel.json from
JDownloader-2-Dark-Theme-master\jd2backups\JDownloaderDarkOnly\cfg, length 4204 bytes.
Compress altered cfg\ folder to new zip with the name like newsettings.jd2backup
Restore settings from newsettings.jd2backup, there should be dark theme, your settings and B&W icon on Taskbar if you changed it.
Thank you Vinylwalk3r very much!
Final effect:
After installing the rather excellent dark theme, I was frustrated that updates temporarily broke the theme until JDownloader 2 was restarted again. So, I looked up the API calls, and created a script for the Event Scripter plugin to work around the bug. This Event Scripter script will check for updates periodically, apply them if JDownloader 2 if it is idle, and then automatically restart JDownloader2 again to fix the dark theme.
To use this, enable Event Scripter from Settings -> Plugins. Then, add a new script with an Interval trigger. Set the trigger to a much longer delay, enable synchronous execution by checking the box, and paste the script from below. Scroll down for detailed instructions.
/*
Name: Update and Re-Apply Theme
Version: 1.0.1
Author: https://github.com/andrewjmetzger
Description: Check for and apply updates periodically if JDownloader 2 is idle,
and then restart JDownloader 2 one more time to apply the dark theme properly.
Trigger Required: "Interval" (Recommended: 600000 (10 mins.) or more)
Synchronous execution: Yes (checked)
*/
if (
callAPI("update", "isUpdateAvailable") && // an update is available, and
!callAPI("linkcrawler", "isCrawling") && // LinkCrawler is idle, and
!callAPI("linkgrabberv2", "isCollecting") && // LinkGrabber is idle, and
!callAPI("extraction", "getQueue").length && // nothing is being extracted, then
isDownloadControllerIdle() // if no downloads are running...
) {
callAPI("update", "restartAndUpdate"); // Check for and apply an update, then
callAPI("system", "restartJD"); // restart JDownloader 2 again to fix the theme
}
Headless users only -- here is the same script with no line breaks:
[ {
"eventTrigger" : "INTERVAL",
"enabled" : true,
"name" : "Update: Reapply Theme",
"script" : "/*\n Name: Update and Re-Apply Theme\n \n Version: 1.0.1\n \n Author: https://github.com/andrewjmetzger\n \n Description: Check for and apply updates periodically if JDownloader 2 is idle, \n and then restart JDownloader 2 one more time to apply the dark theme properly.\n \n Trigger Required: \"Interval\" (Recommended: 600000 (10 mins.) or more)\n \n Synchronous execution: Yes (checked)\n*/\n\nif (\n callAPI(\"update\", \"isUpdateAvailable\") && // an update is available, and\n !callAPI(\"linkcrawler\", \"isCrawling\") && // LinkCrawler is idle, and\n !callAPI(\"linkgrabberv2\", \"isCollecting\") && // LinkGrabber is idle, and\n !callAPI(\"extraction\", \"getQueue\").length && // nothing is being extracted, then\n isDownloadControllerIdle() // if no downloads are running...\n) {\n callAPI(\"update\", \"restartAndUpdate\"); // Check for and apply an update, then\n callAPI(\"system\", \"restartJD\"); // restart JDownloader 2 again to fix the theme\n}",
"eventTriggerSettings" : {
"lastFire" : 1616161911463,
"interval" : 600000,
"isSynchronous" : true
},
"id" : 1616156482823
} ]
IMPORTANT: For the first time run, you must allow the script to use the Interval permission. Afterwards, the script will run automatically.
Update and Re-apply theme
600000
milliseconds (10 minutes)@Vinylwalk3r if you like this script and want to include it in the repo, the JSON "headless" script can be added to ./cfg/org.jdownloader.extensions.eventscripter.EventScripterExtension.scripts.json
under the JDownloader 2 installation directory. Note that this still requires the user to install and enable Event Scripter beforehand. Let me know and I'm happy to create a PR.
Hope this helps!
@andrewjmetzger
Version 1.0.1 - 2021-03-19:
Version 1.0.0 - 2021-03-19:
Hello,
I have a few suggestions in order to simplify and/or extend this project.
.jd2backup
file with default settingsThe whole installation process consists in creating a settings backup, patching the backup file, then importing the backup file.
This process is identical for all installations.
Therefore, it is possible to directly provide the patched .jd2backup
file so that people can import it directly.
Of course, this implies that eventually changed settings will be reset.
In order to keep simplifying the process without forcibly resetting the user's settings, why not creating a patch script that will automatically call JDownloader's export function, then automatically patch the generated backup file, and finally automatically call JDownloader's import function.
In order to extend the project's capabilities, we could create a customization software which could automatically generate patched .jd2backup
, allowing the user to graphically (without manual file manipulation) change whatever it is easy and non-risky to change (for example : progress bar color).
Thanks
I installed the theme using the backup method, the custom theme method and by copying the file to my JD2 folder. When I start the program the first time all gets applied fine with no problems.
But when I close the program and open it again everything is gone again and its back to the delivered BLACK_EYE theme. Even the white arrows get replaced with "DUMMY" images. Also the custom toolbar at the bottom is gone.
I tried to apply the theme several times now but it never stays.
Instruction says "copy the content of the config folder into the open backup".
I don't understand this instruction. The config folder is a directory, whereas the backup-file is a file. Where to copy the config folder in common?
As i updated yesterday it broke the dark theme. How can i find out how to set the color again?
i can provide a screenshot if needed.
regards.
The look is AMAZING!! Congrats dude!! I love it.
But there is a problem, loading the backup, not just loads the colours but all the rest of the preferences, for example it points in several places a johannes directory (C:\Users\Johannes\Documents\GitHub\Jdownloader-2-Dark-Theme)...
And there are other several setting which are not the default for jdownloader, like menus and so on.
You could start just sharing what are the setting to change just the colours and sharing here. Unless there is a way to create a backup just for the colours, and not for the rest of it.
Should be great to be as agnostic as possible of anything, just changing the colours.
As the backup is binary, there is a problem trying to see what is happening underneath.
Please help us.
Thanks and greetings!! Great work!!
Hi,
I would love to use this Theme. Thanks for doing it.
Is it a conscious design decision to remove that button? This is my most used sub-button in LinkGrabber.
Thank you very much.
EDIT:
Well, I was able to add the "Start all downloads" item, but it's flat and does not contain the sub-items from the vanilla UI.
Also, I am able to add the raw entry "Force Start"... but this is all ugly. The vanilla structure is so neat, and it's sad this is missing here.
so i LOVE what you did with the dark theme , finally jd2 easy on the eyes, only issue i have with jd2 is i use a fontsize of 160 in its advanced settings instead of the default 100 and most gui elements cut off fonts , would appreciate if someone would have a hack for this , since i dont use dpi scaling from windows since it blurs everything as known , thanks in advance
Is there anyway to darken this as well? due to the contrast every first letter is a blind spot. notice 'var|if|filename'
One note, to get the top bar to show up with the dark theme, you'll also need to run this in terminal: defaults write org.jdownloader.launcher NSRequiresAquaSystemAppearance 0
Originally posted by @elliotttate in #9 (comment)
On windows, what is the equivalent command?
I have a Windows 10 PC.
Also, my bars are not green. They are 'blue'. is this expected?
Thanks for the awesome theme! My eyes already feel better <3
I think I install everything correctly and I love how this theme looks. Thanks for sharing.
I just noticed a couple of rare things, one of them I don't know if it's a bug or I just don't like it, in both cases it would be good at least to know the name of the file to be able to modify or change the color, I would appreciate it.
I remember that the line of a folder had a different color to differentiate them more easily between the files (I don't speak of the color interspersed between each file, it seems better if that isn't that, although I don't know if the error is due to that)
For example something like that
Now with the unopened folders it looks normal
If I open the first, the third loses the color and has the same as the other files.
If I open the first and also the second, the third recovers its color that differentiates it (the same happens if I open the 3 folders)
If I open only the second, this folder and the third have the same color as the files, and well I think my problem was already understood. Sometimes have a color and sometimes another.
And the other that maybe noticed is that light blue frame that appears when I click on the download box or the LinkGrabber box (that line that looks in the images). I don't understand what a function it complies and is quite ugly.
Hi, Jiaz here from JDownloader Team.
Just recently discovered your custom theme and it's great! THUMBS UP! GREAT WORK!
We would like to offer help to
1.) sort out remaining issues
2.) make installation easier
Would be great if you can contact us via [email protected]
best regards
jiaz
Not really sure if this is an issue but maybe someone can help me anyway.
I tried to change all the red colors I could find in 'Advanced Settings' but still couldn't manage to change this red text...
...to something a bit less demanding for my eyes like a bit darker than the other text next to it.
Is it possible?
I have portable Jdownloader2 and has dark theme from you installed. if possible
may i share them on my github? or you can post the link in your github : https://binusianorg-my.sharepoint.com/personal/shojimeguro_binusian_org/_layouts/15/guestaccess.aspx?docid=0cc394a637db44e999a63579ce848951a&authkey=AXNihKpgy7kNcnAFeK-5BVY&e=milTP5 incase people dont want to bother with tweaking anymore so they can simply use my portable jdownloader
So I like the theme so far, it looks really nice.
One hang up is i I have a big list, then every first entry has black text (so 1-3-5-7), while every other entry has the white text. This makes it really hard to see it unless I specifically hover over it, I'm not sure if there is a fix or if there's a weird configuration I need to edit, I'm poking around the backup and advanced settings just in case.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.