The state of TUI user theme support is kinda all over the place, even in some of the most popular apps I use everyday. Overriding user palette, no detection of light/dark mode change, very often no light theme support at all.
I’m working on a library to make this fool proof for developers to support, with adapters for Zig, Go, Rust, Node, c++. It exposes simple events to monitor theme & appearance changes, access to the ANSI palette and the ability to change opacity from base colors.
Here’s a screenshot before and after (running in
@superlogical web client) of mainline btop and my fork of btop running this new library. btop’s light theme support is kinda non existent but now it’s usable (still needs tweaks).
Still some work to do but hopefully something releasable soon.