Go to file
Anton Volnuhin af52fcf7a3 tide: ask the terminal for its background instead of reading config files
Over ssh the light prompt segments came out lighter than the background
instead of darker. __tide_terminal_background_color learned the
background by reading <appearance>-theme.auto.conf, which on a remote
host belongs to *that* machine: devry pins theme-mode to dark, so
apply-theme-mode.sh writes the dark theme into all three slots there,
including light-theme.auto.conf. Asked for a light background it found
#212121, correctly refused it as contradicting the appearance, ran out of
files and left the caller on its plain-white fallback -- and a segment
derived from white sits above a #EBE8E4 background rather than below it.
Dark was unaffected because that path never recomputes the palette.

Ask the terminal instead, with an OSC 11 query: it is the one source that
describes the window this shell is actually displayed in, whichever
machine the shell runs on. The config files stay as the fallback, where
they are still right, and the static white behind them.

The query costs one 0.2s-bounded read per appearance change, restores the
terminal settings before it can fail, and steps aside under tmux and
screen, which need the query wrapped and each want it wrapped
differently.

Covered by a new live pty scenario that reproduces the ssh case exactly --
config files all dark, terminal reporting light -- which fails on the
previous ordering, plus unit tests for the reply parser and the fallback
chain.
2026-08-06 16:08:40 +03:00
dot_1password template symlinks for portability, remove karabiner debug rule 2026-03-02 19:25:40 +03:00
dot_claude Track agent CLI configs, with codex secrets externalized 2026-08-06 02:23:49 +03:00
dot_codex Track agent CLI configs, with codex secrets externalized 2026-08-06 02:23:49 +03:00
dot_grok Track agent CLI configs, with codex secrets externalized 2026-08-06 02:23:49 +03:00
dot_kimi Track agent CLI configs, with codex secrets externalized 2026-08-06 02:23:49 +03:00
dot_kimi-code Track agent CLI configs, with codex secrets externalized 2026-08-06 02:23:49 +03:00
dot_pi/agent Track agent CLI configs, with codex secrets externalized 2026-08-06 02:23:49 +03:00
dot_reasonix Track agent CLI configs, with codex secrets externalized 2026-08-06 02:23:49 +03:00
dot_terminfo terminfo: cursor reset restores terminal default (beam), not block 2026-06-12 01:28:40 +03:00
dot_tmux/plugins nova things 2026-03-02 22:17:26 +03:00
private_dot_config tide: ask the terminal for its background instead of reading config files 2026-08-06 16:08:40 +03:00
private_dot_local/bin ping: check IPv6 is actually usable, and split ping4 per platform 2026-08-06 03:38:12 +03:00
private_Library/private_Application Support/private_Arc back to kitty, uv, small changes in karabiner 2025-03-02 01:17:58 +03:00
.chezmoiexternal.toml restructure repo, fix fish config, remove vendored repos 2026-03-02 19:11:10 +03:00
.chezmoiignore kitty: capture theme choices however the kitten was launched 2026-08-06 04:42:59 +03:00
.gitignore add .gitignore to exclude nvimlog and pycache from repo 2026-03-03 23:30:32 +03:00
dot_gitconfig Small combined changes 2026-07-27 20:23:32 +03:00
dot_tmux.conf tmux: use session name as kitty tab title, with @host over SSH 2026-06-12 01:12:04 +03:00
dot_zshrc Small combined changes 2026-07-27 20:23:32 +03:00
run_after_kitty-theme-mode.sh kitty: put the grok themes in the picker, move the mode store aside 2026-08-06 03:24:48 +03:00
run_onchange_after_install_main_deps.sh.tmpl Modernize Neovim treesitter bootstrap 2026-03-31 01:45:02 +03:00
run_onchange_after_z_configure_tide.sh.tmpl add tide-reset function, fix treesitter config for stable nvim 2026-03-04 18:13:21 +03:00