solarized colortheme issue: fg/bg color of copied item
When running ranger (with its solarized theme) in gnome-terminal (with solarized-dark theme), the fg and bg color of copied item are very close, which makes the item's text almost impossible to read. Below are steps to reproduce the issue:
- Install solarized-dark theme for gnome-terminal. See https://github.com/aruhier/gnome-terminal-colors-solarized
- Setup ranger to use solarized theme:
set colorscheme solarized - Start ranger and press
yyto yank one file to copy buffer, then move cursor down to next item so that the copied item is visible.
Then you should notice that the copied item's text is hard to recognize because its fg and bg colors are close.
The issue is gone if changing gnome-terminal's default fg and bg color to something other than "solaried dark". The procedure is: 1) Right click in gnome-terminal, choose Preference, a window should pop up. 2) Click Colors tab, and change Built-in schemes under Text and Background Color from Solarized dark to something like Solarized light. 3) Click Close button to close the window.
I observed the issue on Ubuntu 18.04.2 LTS and GNOME Terminal 3.28.2 using VTE 0.52.2, though I don't think the versions matter.
I think the following factors lead to the issue:
-
Ranger solarized theme uses 256 colors
-
It also uses default fg and bg color of the terminal. This is where the terminal's theme comes into play.
-
In ranger's solarized theme, the fb color of copied item is 234 (see code below). Googling it on the net shows that it's
#1c1c1c.if not context.selected and (context.cut or context.copied): fg = 234 attr |= bold -
In gnome-terminal's solarized-dark theme, the default bg coloar is
#002B36
As you see, the two colors are very close, so using them as fg and bg colors makes the text hard to recognize.
Marked items don't have this issue because their fg and bg colors are swapped.
if context.selected:
attr = reverse
It seems to me the only workaround is to modify the code to change fg or bg color, but it's hard to find values that work in all situations.
Any suggestions?
Sounds like a great fix to PR : ) (I'm transferring this issue to our colorschemes repo.)
Just FYI. I work around the issue by modifying fg value to 223. It's sort of a hack because it probably doesn't work with solarized-light theme.