A fixed E4E4E4 segment was 1.04:1 against Kaolin Breeze's EBE8E4 -- an invisible pill -- and a neutral grey reads as a foreign object on a warm or cool background anyway. Read the background kitty is showing and place the segment a fixed contrast step below it, so it keeps the theme's tint. Default step is 1.12:1; __tide_terminal_segment_contrast overrides it. Moving the segment invalidates the foregrounds, which are authored at exactly 4.5:1 against E4E4E4 with no headroom, so re-aim them at the derived segment by the single ratio the palette's shared luminance ceiling moved by. That scaling runs in linear light, where luminance is a weighted sum of the channels and so scales exactly; scaling the encoded channels drifts further the darker a color gets, which is where the floor binds. Also fix the baseline capture: the overrides are exported, so a Fish started from a Fish that had already applied a palette was capturing that palette as its dark baseline and could never restore dark. Drop inherited globals first so the baseline comes from the universal scope Tide writes. Dark mode is unchanged. |
||
|---|---|---|
| .. | ||
| conf.d | ||
| functions | ||
| private_docs/private_superpowers/private_specs | ||
| private_tests | ||
| themes | ||
| config.fish | ||
| fish_plugins | ||