Skip to content

feat(tmux-palette): palette-driven pane tinting and status bar gradient#19

Open
jeffujioka wants to merge 2 commits into
mainfrom
feat/tmux-palette-tint
Open

feat(tmux-palette): palette-driven pane tinting and status bar gradient#19
jeffujioka wants to merge 2 commits into
mainfrom
feat/tmux-palette-tint

Conversation

@jeffujioka

Copy link
Copy Markdown
Owner

Summary

  • Inactive panes get a palette-derived background tint (pfg × 25%) with subtly muted text (#c0c0c0)
  • Active pane uses fixed #1e1e2e (Catppuccin Mocha base)
  • Status bar segments use a 5-step gradient from the most saturated color (auto-selected between c1 and pfg via chroma comparison)
  • Contrast-safe text: auto dark/light foreground per segment luminance
  • Pane title bars use palette colors instead of hardcoded grays

Why

  • Deep/glow presets had indistinguishable status bar segments (c2-c5 all near-black)
  • No visual distinction between active and inactive panes
  • Some presets (catppuccin) had invisible text due to dark pfg used as foreground

Validation

  • 51/51 automated tests passing
  • Visual verification with screenshots across 8+ presets (twilight-deep, ocean, synthwave, forest, inferno-deep, solar-deep, dusk-deep, bracket-aurora, catppuccin)

…lors

- Add _darken_hex, _is_light, _contrast_fg color math helpers
- Inactive panes get palette-derived bg (pfg * 25%) with muted text
- Active pane uses fixed #1e1e2e (Catppuccin Mocha base)
- Contrast-safe text: auto-select dark/light fg per segment luminance
- Pane title bars use palette colors (active: c1 bg, inactive: tinted)
- Post-TPM override reads @palette-active-bg and @palette-inactive-bg
- Guard _is_light against non-hex input (bracket preset safety)
- Guard _contrast_fg against dark pfg (catppuccin edge case)
…color

- Add _chroma_hex helper to compare color saturation
- Auto-select gradient base: highest chroma between c1 and pfg
- Generate 5-step segment gradient (100/75/55/38/25%) instead of
  using raw c1-c5 which are indistinguishable in deep presets
- Status bar bg derived from pfg at 18% (darker than all segments)
- Guard _contrast_fg against dark pfg (catppuccin edge case)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant