by OpenXTalkPaul » Fri Apr 26, 2024 9:59 pm
tperry2x wrote: ↑Fri Apr 26, 2024 10:34 am
That's great for GNOME and Unity, but what about the others? (KDE, Cinnamon, Budgie, LXQt, LXDE, XFCE, Deepin... etc). Plus the dconf editor does not come as standard in a lot of distros, so you can't rely on it being there. (because user choice
)
This is kind of why I thought it was best just to let the user choose their own colour scheme from a popup.
It's like Pokémon, gotta collect them all! I think that supporting ALL of these Window Managers would not be nearly as many as there are Poké monsters. There's maybe less than 10 the are most commonly used. And keep in mind we're really only interested in reading like four RGB values (FG, BG, text selection, and object focus colors).
LXQt (since I just installed Lubuntu in a vm)... that use Qt (obviously), and has an appearance config file that has the foreground / background / section colors we're after. In addition to Qt, Lubuntu
ALSO has GNOME / GTK configs present, because lots of apps will still have been built to use GTK 'widgets' instead of Qt's. I've been irritated by this in the past when I've tried to change system appearance on Linux distros but some apps won't use the system's appearance. LXQt appearance themes are done with Qt, but an individual app may have been written using GTK so it uses those settings instead.
There's really only two widely used GUI widget toolkits (not counting version differences like GTK2 vs GTK3/4) that are used in Linux world, GTK and Qt. It's up to an app / appearance theme dev to pick one. A good distro should probably have both frameworks pre-installed and would have matching theme files for both toolkits. A window manager's themes will most likely be using one of those two (unless it's using something less common like GNUStep). For example KDE Plasma, like LXQt, uses Qt for appearance configuration, their config files may be in a a different location, but those files are basically going to have same contents to parse.
So we could collect a list of all of the relevant file paths from all of those (KDE Plasma, Cinnaminon, Deepen, etc.) and write a script that iterates through the list checking for 'if there is a file tAppearanceInfoFilePath' until it finds one. Or maybe it could check for what Distro is running and use the appropriate path.
Of course it is a lot easier to let the IDE user set the colors, and one might actually
want the IDE to have an appearance that is distinctly different from the system-wide appearance theme. I just think the IDE should try to pick up the system theme colors by default, on new installs or when revPrefences file is reset. That's how I was planning to do it for macOS/Cocoa. If it doesn't find any appearance color info then it would use some all-back default colors.
Maybe that is lot of work for something trivial / purely cosmetic, I don't know.
[quote=tperry2x post_id=8264 time=1714127671 user_id=1657]
That's great for GNOME and Unity, but what about the others? (KDE, Cinnamon, Budgie, LXQt, LXDE, XFCE, Deepin... etc). Plus the dconf editor does not come as standard in a lot of distros, so you can't rely on it being there. (because user choice :D )
This is kind of why I thought it was best just to let the user choose their own colour scheme from a popup.
[/quote]
It's like Pokémon, gotta collect them all! I think that supporting ALL of these Window Managers would not be nearly as many as there are Poké monsters. There's maybe less than 10 the are most commonly used. And keep in mind we're really only interested in reading like four RGB values (FG, BG, text selection, and object focus colors).
LXQt (since I just installed Lubuntu in a vm)... that use Qt (obviously), and has an appearance config file that has the foreground / background / section colors we're after. In addition to Qt, Lubuntu [i]ALSO[/i] has GNOME / GTK configs present, because lots of apps will still have been built to use GTK 'widgets' instead of Qt's. I've been irritated by this in the past when I've tried to change system appearance on Linux distros but some apps won't use the system's appearance. LXQt appearance themes are done with Qt, but an individual app may have been written using GTK so it uses those settings instead.
There's really only two widely used GUI widget toolkits (not counting version differences like GTK2 vs GTK3/4) that are used in Linux world, GTK and Qt. It's up to an app / appearance theme dev to pick one. A good distro should probably have both frameworks pre-installed and would have matching theme files for both toolkits. A window manager's themes will most likely be using one of those two (unless it's using something less common like GNUStep). For example KDE Plasma, like LXQt, uses Qt for appearance configuration, their config files may be in a a different location, but those files are basically going to have same contents to parse.
So we could collect a list of all of the relevant file paths from all of those (KDE Plasma, Cinnaminon, Deepen, etc.) and write a script that iterates through the list checking for 'if there is a file tAppearanceInfoFilePath' until it finds one. Or maybe it could check for what Distro is running and use the appropriate path.
Of course it is a lot easier to let the IDE user set the colors, and one might actually [i]want[/i] the IDE to have an appearance that is distinctly different from the system-wide appearance theme. I just think the IDE should try to pick up the system theme colors by default, on new installs or when revPrefences file is reset. That's how I was planning to do it for macOS/Cocoa. If it doesn't find any appearance color info then it would use some all-back default colors.
Maybe that is lot of work for something trivial / purely cosmetic, I don't know.