Hi, the dark blue color in my terminal is barely legible with my theme. I've looked everywhere and I can't find a way to change the color to something more contrasted. ![terminalcolor](https://user-images.githubusercontent.com/5252797/84933855-59b1f900-b08b-11e...)
Sounds like #2180.
Geany doesn't use the color palette feature of LibVTE, except for the foreground and background colors. I can't think of a way to do this in general without editing the GTK+ theme, using utility-specific environment variables like `LS_COLORS`, writing a plugin, or changing Geany's code.
editing the GTK+ theme
AFAICT the VTE docs don't specify any CSS selectors for the terminal, so this probably won't work (but not tested)
using utility-specific environment variables like LS_COLORS
This might work, somebody needs to try it
writing a plugin, or changing Geany's code.
Yes, just needs somebody to do it, PRs are welcome
AFAICT the VTE docs don't specify any CSS selectors for the terminal, so this probably won't work (but not tested)
I assumed in the screenshot that VTE was taking the background colour from the GTK+ theme (and so therefore modifiable by CSS) but I realize now that the background colour was manually changed in the Preferences from Geany's defaults to be a colour that has low contrast with VTE's hardcoded default colour palette.
There's a few implementation options: * Integrate specifying palette colours using existing colour schemes mechanism, which is so far just used for Scintilla theming. * Add a bunch of preferences GUI widgets, possibly in a dialog window launched from the Terminal Preferences tab, which allows specifying each palette colour independently. * Read colours from wherever xterm (and compatible terminals) get their palette from like Xresources or whatever file.
I'll see if I can submit a PR. Can you point me in the direction where this type of stuff is handled?
It depends which implementation. Most of the VTE stuff is in [vte.c](https://github.com/geany/geany/blob/master/src/vte.c).
I like the idea of reading from `.Xresources`, it's ubiquitous on Linux, at least. It would be nice, but maybe not portable.
Adding GUI widgets limits the number of custom colors we can have to some reasonable number, probably 16. The [relevant function in VTE](https://developer.gnome.org/vte/0.50/VteTerminal.html#vte-terminal-set-color...) accepts palettes up to 256 colors. There may be other reasons in Geany that limiting the number to 16 is a good idea, though. Also this looks fairly easy to me, from reading `vte.c` it looks like I can implement it all in there without having to import anything new. My last point about this approach is just that setting 16 colors seperately would be annoying for the user.
I wasn't able to make much of the Scintilla approach by looking through the codebase, but I think it would be the best option for the user.
I wasn't able to make much of the Scintilla approach by looking through the codebase, but I think it would be the best option for the user.
I tend to agree. Also doing it the config file way doesn't mean a GUI can't be added later too.
----
Fair warning: Geany's core developers are fairly inactive in the last while. Before investing a ton of time in implementing this, you should weight it against the fact that it may not get reviewed in a timely manner, and you may find it annoying trying to get someone to merge it. I know it sounds weird, but there's nothing worse than volunteering a lot of time/effort and not having the work reviewed/merged. Geany is largely in maintenance mode these days, and the handful of developers who historically have volunteered their time are having less of it to spend on Geany.
That said, it's a trivial implementation, it's much more likely to get reviewed/merged.
Have been using a light foreground color at geany due this issue for a while now. But wanted to use a dark one again. For me at last the 99% problem is that I can't read directory names at `ls` (at other CLI tools it's barely used).
![grafik](https://user-images.githubusercontent.com/6735650/213871805-c45b1d1f-d001-49...)
As that type-to-color mapping is defined at environment variable LS_COLORS, thought to override that one. Combined with utility to detect if the terminal's parent process is geany the color is overridden there, meaning it only applys to geany terminal. I added this to .bashrc:
``` [[ `ps -e | grep "$PPID"` == *"geany"* ]] && export LS_COLORS="${LS_COLORS}di=01;32:" ```
![grafik](https://user-images.githubusercontent.com/6735650/213871818-abf0eeec-0ed5-4d...)
Sure would be better if geany offers proper terminal color palette configuration, but well works good enough for that case at last.
github-comments@lists.geany.org