jabref
jabref copied to clipboard
Option to use System Preference for Light/Dark Theme
Is your suggestion for improvement related to a problem? Please describe.
I would appreciate a way to automatically apply either a light or dark theme whenever I switch my light/dark theme in my MacOS system preferences. Sometimes I am using an eink monitor and I prefer light themes because they are easier to read on eink IMO, and other times I am on an LCD panel monitor and do not want to hurt my eyes with a light mode (I want dark mode here).
Describe the solution you'd like
Could a radio button be added to the Appearance section of the settings dialog that says "Use System Default"?
Additional context
I would prefer a solution that does not require a program restart, but this may be easier or just a good first step to aim for.
Thank you to everyone who has contributed to this software!
On Linux, it would be great if Jabref respected freedesktop.org's color scheme preference as well. It's universal across almost all Linux desktops now, so there should be no need to make the code specific to any one desktop or theme
On Linux, it would be great if Jabref respected freedesktop.org's color scheme preference as well. It's universal across almost all Linux desktops now, so there should be no need to make the code specific to any one desktop or theme
I agree that JabRef should have Linux support, although I am not sure if this should be a separate ticket as my OP was about accessibility on MacOS.
Needs to be done for each OS individually (as there is not yet a java/javafx API for doing this): Ideally using already existing tools see for example as an idea: ( https://gist.github.com/HanSolo/7cf10b86efff8ca2845bf5ec2dd0fe1d
Hello, could I please be assigned to this issue? I'd like to make an attempt on it. Could someone please also let me know where would be the ideal place in the codebase to place the listener so that it can listen in the background for changes in MacOS System Preferences?
@shafinkamal I would just check this once on startup or in the preferences. There needs to be an option to override the automatic detection
Hi, I would like to take up this issue
@aqurilla Thanks for your interest, there is already a good external library https://github.com/Dansoftowner/jSystemThemeDetector however, due to the method too large exception we could not integrate it :(
Then let's remove this from "free to take" in good first issues and candidates for university projects for now.
@Siedlerchr no problem, I'll try one of the other issues
See https://github.com/HanSolo/JDKMon/blob/5602b03b36a12c66caf7793ab749520e9d2d5762/src/main/java/eu/hansolo/fx/jdkmon/tools/Detector.java#LL138C40-L138C41
@calixtus It uses the Process cmd exec stuff while this one uses jna https://github.com/Dansoftowner/jSystemThemeDetector/blob/master/src/main/java/com/jthemedetecor/WindowsThemeDetector.java
With the recent progress, the JDK issue shouldn't pose a problem anymore and we can use https://github.com/Dansoftowner/jSystemThemeDetector now. For anyone interested in working on this, the PR https://github.com/JabRef/jabref/pull/9263 might be a good starting point
Hello, I have a university assignment right now. Can I give it a try?