It's 2023. It should work better in dark mode out-of-the-box, without requiring the user to manually search the Internet, download/edit/copy config files.
1. At least one colour theme for dark mode should be included by default, without requiring the user to visit https://www.geany.org/download/themes/
2. A colour scheme for dark mode for the output panels should be included by default, and either let the user select it in the Preferences or automatically use it in dark mode, not [telling users to write a CSS file for it](https://github.com/geany/geany/issues/2520).
![image](https://user-images.githubusercontent.com/10900489/219854052-e31a24ae-8bf5-4...)
Geany is a GTK application, so everything except the edit pane should "just work" and follow the GTK theme selected. Certainly here Geany follows the theme selected for the desktop as I change from Mint-Y to Mint-Y dark. And I don't even have to restart Geany. But note the desktop is actually selecting a different theme that somebody has created a CSS for, nothing happened automagically. If this is not happening for you maybe discuss it with your distro.
Unfortunately no desktop themes have styles for "compiler error", "compiler context", "compiler message", how remiss of them!!! So additional CSS needs to be supplied for those items, hence `geany.css`. Of course if someone contributes `geany-dark.css` and the method of selecting it a PR could be accepted.
The CSS also has no effect on the edit pane because that applies styles to lexical entities, and again no desktop themes have settings for those. So that will always have to have additional setup, hence the "colour scheme" for that.
Making dark/light colour schemes whilst ensuring appropriate visual contrast when there are many colours involved can be done in two ways:
- manually creating dark schemes, several of which exist in Geany-themes and can be loaded and selected as you wish, or - inverting the colours in the selected theme, which is available with `Edit->Preferences->Editor->Display->Invert syntax highlighting colours`.
#3013 should help wrt compiler window.
Regarding having a dark theme by default, why not, but it'll be hard to agree on which one :) (Not that I care myself, dark themes are a terrible idea that doesn't scale anyway. Troll intended :grin: )
The CSS also has no effect on the edit pane because that applies styles to lexical entities, and again no desktop themes have settings for those. So that will always have to have additional setup, hence the "colour scheme" for that.
That's not entirely true. Nowadays it's usually somewhat possible to know whether the system theme in uses is light or dark, and we could have the same info for editor themes and/or have a "dark default". So sure, people will still want to select their preferred theme, but we could have a default following a tad better the system theme in this case.
Regarding having a dark theme by default, why not, but it'll be hard to agree on which one :) (Not that I care myself, dark themes are a terrible idea that doesn't scale anyway. Troll intended :grin: )
__Themes__ are a terrible idea that leaves your application at the mercy of unknown idiots that "design" them (troll also intended :grin: )
But yes the point being which to agree on?
That's not entirely true.
Thats entirely true. GTK themes do not set properties for lexical entities. The term `Colour Scheme` or `Color Scheme` depending which school you went to and how your Geany is translated, refers to the Geany conf file that sets lexical entity colours to differentiate it from the GTK theme. It has been agreed that the `geany-themes` repo name is confusing, but it is what it is.
Nowadays it's usually somewhat possible to know whether the system theme in uses is light or dark
What I think you mean is that there is some sort of fuzzy indication by reading the GTK setting `gtk-theme-name` and see if it ends in `-dark`.
Geany could load `colour-scheme-dark` instead of `colour-scheme` selected depending on above, or could automatically set the `Invert syntax highlighting colours` property, obviously with an option for the user to prevent such bad annoying retrograde automatic behaviour ;-)
Or even just shipping `default` and `default-dark` might be enough in the first pass so the user can select easily, although default might need to be separated from `filetypes.common`.
Now all it needs is "somebody" to do it.
github-comments@lists.geany.org