6 Commits
Author SHA1 Message Date
David Heinemeier HanssonandClaude Fable 5 51bd33d7ab Keep tmux cursor colour on theme after apps reset it
Apps like nvim clear the per-pane cursor colour with OSC 112, which made
tmux reset the outer terminal's cursor. Terminals that can't reload their
config (foot) then restore the cursor colour from whatever theme was
active at launch, leaving a mix of old and new cursor colours across
panes. Set the global cursor-colour option as a fallback so cleared panes
land on the current theme instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 18:13:39 -07:00
David Heinemeier HanssonandClaude Fable 5 3bd6e72211 Share one theme color resolver across consumers
Five scripts each hand-rolled colors.toml parsing plus their own
alias/fallback cascade, and the tables had drifted: theme-osc grew a
divergent color8/color9 chain, tmux and gnome carried private mode
detection, and the preview tool duplicated the lot. The differences
never mattered for shipped themes but were a standing bug factory for
sparse user themes.

omarchy-theme-color is now the single resolver. Its cascade is a
verbatim port of the canonical theme-set-templates logic (semantic
keys, legacy colorN aliases, derived shades, selection/cursor
derivation, mode precedence), exposed as --all, --raw, or single-key
lookup with fallback.

Generated output is byte-identical across all 21 shipped themes on
every surface: 17 template files, OSC byte stream, tmux and gsettings
command logs, and previews. Sparse legacy themes now resolve the same
palette everywhere instead of five slightly different ones.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 09:06:31 -07:00
Ryan Hughes 221fb296fc Simplify theme palette tokens 2026-06-11 02:08:02 -04:00
Ryan Hughes 0f5e81143e Move current theme state to local state 2026-06-09 19:48:37 -04:00
Ryan Hughes 89bfa841c4 Restore semantic theme compatibility 2026-06-02 17:23:28 -04:00
David Heinemeier Hansson 4030bb4813 Ensure tmux coloring is updated live too 2026-05-23 13:46:27 +02:00