Interesting truth. Vivid colors, best response time, saves power in dark mode, #000 looks amazing (and off-black looks muddied). Honestly I wish we normalized true black themes for this reason.
Interesting truth. Vivid colors, best response time, saves power in dark mode, #000 looks amazing (and off-black looks muddied). Honestly I wish we normalized true black themes for this reason.
Those muddy dark greys are actually there for purposefully lowering the contrast, to prevent fatigue. It takes a while to accommodate to lesser contrast, but once you do it, you will likely never want the pure blacks back, unless you will also make the foreground colors darker to compensate for it.
Regarding OLEDs, I’ve gotten the best 31.5” professional grade OLED display, and sent it back, because of the flickering (due to pixels changing state) in low light/brightness conditions. It got me tired very fast (30 minutes) while working at night.
Very happy with a Black IPS panel now.
This is anyway very subjective. For example, I feel the widely popular Solarized colorscheme MORE tiring because the low contrast requires more effort to tell the letters apart.
It’s subjective indeed, and it requires an investment, purposefully putting up with it for a while, to be able to harvest the benefits. But everyone I personally know who did that, doesn’t want to go back to rich contrast.
I’m happy with my OLED phone, laptop, & monitor while not having daily driven a IPS device in 5 years.
> I asked my optometrist about the best setting for viewing comfort, and she said black letters on white background
I did some reading before I started using light themes, and the theory agrees with your optometrist, especially for astigmatism.
However, after getting an OLED screen, my experience didn't match the theory anymore: I could make the dark theme more comfortable with basic settings.
So I went back to check the research and I noticed it was not correctly controlling for ambient illumination and for the screen brightness.
I call that the 3 deltas:
- the 1st delta is between ambient brightness and the screen background color,
- the 2nd delta is between the screen background and the foreground color,
- the 3rd delta is between the ambient screen brightness and the screen foreground color.
In a dark room (at night), if you use a dark theme with a pitchblack background (as possible on an OLED screen) with a foreground of white text, it will NOT be comfortable if you leave the full brightness (usually 400 to 600 nits)
However, an OLED screen gives you precise control over the brightness: reduce it and you'll see it's possible to make the characters easier to distinguish on a dark theme than on a light theme.
I have scripts to do color inversion and different correction filters. I even have a shortcut for each, to reduce friction and try different settings for different conditions: I can go from a dark theme to a light theme in about 200ms, so I just go "click click click" on the keyboard until I find what conditions "clicks" with me :)
Unless I'm sitting in a very well light place (that I consider too bright for my preferences), I'm more often with the dark theme.
I'd encourage you to take into consideration the 3 deltas and try by yourself a dark theme while doing brightness control +- color filters, or at least to check the research (ask GPT!) your optometrist recommendation is based on.
binde = , XF86MonBrightnessDown, exec, $HOME/.config/hypr/changebrightness.sh - 200
binde = , XF86MonBrightnessUp, exec, $HOME/.config/hypr/changebrightness.sh + 200
The script is just reading /sys/class/backlight/intel_backlight/brightness and writing back the same value +- 200
The most important is what plays with that: color inversion, red shift, contrast increase, so install gammarelay-rs and wl-gammactl then do key mappings.
The contrast increase is a nice feature to avoid trimming low contrast element (ex: light key text on a grey background), before moving to use exclusively red on black ("submarine" night mode)
# alt= dark red nightmode
# WARNING conflict betweel wl-gammarelay-rs and wl-gammactl: before using one, must killall the other first # So unconditionally kill the other before running commands
bind = ALT,Print, exec, killall wl-gammactl
bind = ALT,Print, exec, killall wl-gammarelay-rs || ( wl-gammarelay-rs & busctl --user -- set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 1000 )
# Control= increase contrast for OLED dark
bind = CONTROL,Print, exec, killall wl-gammarelay-rs
bind = CONTROL,Print, exec, killall wl-gammactl || GTK_THEME=Adwaita-amoled-dark-Fix wl-gammactl -c 2.500 -b 0.700 -g 1.000
# Shift= invert
bind = SHIFT,Print, exec, killall wl-gammarelay-rs
bind = SHIFT,Print, exec, killall wl-gammactl || GTK_THEME=Adwaita-amoled-dark-Fix wl-gammactl -c -1.000 -b 2.000 -g 1.000
# Win= brightness menu
bind = WIN,Print, exec, killall wl-gammarelay-rs
bind = WIN,Print, exec, killall wl-gammactl || GTK_THEME=Adwaita-amoled-dark-Fix wl-gammactl
> I’ve been wanting to do something similar for ages for those few occasions where ambient sunlight really wanted me moving to something that wasn’t a dark.
If it's a rare occasion, you must use a dark theme by default, so I would do
- first Ctrl+Printscreen to try to increase the constrast of your back theme: it's rare and counterintuitive, but if you have no reflections on the screen, it can help in the sun
- if it's not enough cancel it by another Ctrl+PrintScreen, then Shift+Printscreen to toggle the inverted mode
- then Fn F5 (which causes XF86MonBrightnessDown on by thinkpad) to reduce the brightness until you like it
If works best if you have OS-wide theme toggle. I use 2 terminals with different themes because unlike on Windows Terminal, on Linux the hot toggles of colors themes for Terminals isn't working so well.
If you have a brightness sensor (often in the keyboard, for color calibration on thinkpads, or in the webcam housing for balance adjustement), you could do much better: record in a sqlite database the timestamps, the brightness value, and your actions (ex: reducing lightness +400)
After a few days of collecting metrics, you should be able to calibrate a default reponse that would change with your habits: imagine pressing a key and reproducing your modal reponse to this kind of ambiant brightness (this theme, that brightness, this color filter...)
For ICC profiles colormgr can help: https://wiki.archlinux.org/title/ICC_profiles#Wayland
If you just need basic brightness, contrast and gamma, wl-gammactl should do that: https://github.com/mischw/wl-gammactl
BTW Hyprland is not required, it's just the most practical way to have shortcuts key mappings in Wayland
From what I understand, iPhones are the best as far as panel quality goes, but even at those tiny sizes they are still full of shortcomings (see, e.g., https://www.xda-developers.com/apple-iphone-14-pro-max-displ...). Compared to a phone, my laptop’s screen is much larger, color reproduction is much more work-critical, and I stare at it for longer, so thanks but no thanks, I’ll stick with LCD.