ykonstant
a year ago
I came across all of these issues and many more trying to make a good light color scheme for my systems. Two interesting findings I did not see discussed:
1. It makes sense in retrospect, but I was very surprised at how much more subtle light themes are compared to dark when viewed on different screens; of course their hardware and software configs lead to variations on the color output, but light dominant changes are perceived so much more drastically than dark ones. This is a serious issue if you will be porting your theme to computers with a variety of screens and configurations.
2. Occasionally, you need to drop to a linux or bsd console with very limited support for fonts and fancy colors. Then your `fd` and `exa/lsd/whatever` may be unusable and annoying, especially if you have mapped the latter to `ls`. I managed, after a long struggle, to get a working fbterm in my system to get decent terminal features without X, but fbterm has its own issues. You need to account for this use-case, especially when configuring vim colorschemes: make sure that you have a fallback theme for a feature-poor console or you have really practiced typing vim commands blind :D
Edit: here is a screenshot of my stylized fbterm screen, obviously not for serious work, but meant to demonstrate what you can do without X: https://i.imgur.com/RbDRgtD.png
sricciardi
a year ago
> I was very surprised at how much more subtle light themes are compared to dark when viewed on different screens.
This does not surprise me. I do analog black and white printing (from film) and it's a well known thing that our eye is much better at detecting subtle tonal changes in light areas of a print than darker ones. For this reason, a lot of the time in tweaking the right exposure and contrast for a print is spent to make those hightlights look "just right". I don't print digitally, but I am sure the same principles will apply there too.
klodolph
a year ago
This is why, as policy, I don’t judge negatives any more. I always print contact sheets and make my initial judgments there.
mschuster91
a year ago
> Occasionally, you need to drop to a linux or bsd console with very limited support for fonts and fancy colors. Then your `fd` and `exa/lsd/whatever` may be unusable and annoying, especially if you have mapped the latter to `ls`.
Normally you should be able to rely on a properly set TERM variable [1], and CLI utilities should respect the capabilities they can gain from the TERM variable.
Sadly, a lot of "modern" CLI tool frameworks - particularly those written in JavaScript - tend to ignore this.
[1] https://www.gnu.org/software/gettext/manual/html_node/The-TE...
lathiat
a year ago
Was going to say "hey just set $TERM", then saw your comment and actually read the article which covers all of this pretty well. But, not only am I annoyed about this, but I feel that being annoyed about this confirms I am definitely getting old. yells at cloud
Starting using Linux at 15 in 2002. Didn't realise how "early" that was then (especially compared to now, seemed old then). Been working professionally in the space since 2006. Now I'm 37. Yikes.
On the plus side it definitely works for your more basic tools.. for most of the non-basic ones, as a hack you could pipe the output to "cat" as most tools try to detect if the terminal is interactive or not to remove colors from output being piped. It also annoys me we don't have a better way to signal that, and I have to pass --colors and hope it's supported to every command where I want the colors but just to filter the output by line with grep.
Anyway...
MartinodF
a year ago
I'm also 37. Two younger colleagues were complaining this week that something like `os.MkDir(..., 0755)` is extremely confusing and that they don't like and can't make sense of octal file permissions. I felt really old :)
HPsquared
a year ago
I had a recent experience trying to show a large number of data series by different colours on a plot in Excel.
I found the best option for easily distinguishing a large number of colours was the monochromatic spectral "rainbow" colours on a black background (there's also a setting to make the data points have a bit of "bloom" aura in the same colour so they look like dots of light).
It makes sense from a colour saturation perspective (i.e. signal to noise ratio across the spectrum) that a black background is better.
You can pretty much have 10 different colours
EDIT: Another benefit is it conveys "sequence/order/distance" information: yellow is between red and green; orange is between red and yellow, etc. It's easy to subdivide and interpret how "close together" two colours are.
phkahler
a year ago
That sounds reasonable. But sometimes I have a bunch of signals with some of them being pairs, so having a dark and light version of the same color helps to see them together. Does this work with adjacent rainbow colors as well?
HPsquared
a year ago
You can use the same hue with different luminance.
jve
a year ago
All those nice fonts and pleasant color theme... ruined by a background that makes some characters hard to read :)
wolfspaw
a year ago
Your stylized fbterm screen is awesome, always good to have a cute anime girl lol.
Really good colors and organization of the terminals, it would be great for serious work too in my view =p
weinzierl
a year ago
Would you share how you configured your fbterm?
ykonstant
a year ago
Here is a pastebin of my config, adapted from Lu Xu's dotfiles [0]
[0] https://github.com/xlucn/dotfiles
It is Lu Xu's dotfiles you should focus on if you want to understand how fb* tools work.
I invoke fbterm via this script to set the bg image:
#!/bin/sh
# fbterm-bi: a wrapper script to enable background image with fbterm
# usage: fbterm-bi /path/to/image fbterm-options
printf '\033[?25l' # hide cursor
fbv -ciuker "$1" << EOF
q
EOF
shift
export FBTERM_BACKGROUND_IMAGE=1
exec /bin/fbterm "$@"weinzierl
a year ago
Oh nice, I will give it a try. Thank you so much!
Macha
a year ago
> Occasionally, you need to drop to a linux or bsd console with very limited support for fonts and fancy colors. Then your `fd` and `exa/lsd/whatever` may be unusable and annoying, especially if you have mapped the latter to `ls`.
I just did a check on my NixOS system there and the console seems fine? The ANSI blue on black for directories in eza is a bit... meh, but it's perfectly readable and the same is true for the default colour scheme for ls on MacOS terminal