You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fish shell support (pwdtintii.plugin.fish, requires fish 3.5+) — a full
native port: resolves identical directory keys, families, shades, and registry
hashes as the bash/zsh plugins and emits byte-identical OSC-11 hex. Shares the
same per-dir PID registry, so a fish pane and a bash/zsh pane in the same
directory still get distinct shades. fzf commands (pt view, the picker, the
hub) force SHELL=/bin/sh so fzf's POSIX binds run correctly. Opt-in aliases
in examples/aliases.fish; install is a manual source line. Pinned by a new tests/fish.bats (19 tests) that compares fish output against bash.
tmux per-pane tinting — when $TMUX is set, the tint is applied with tmux select-pane -P "bg=#..." instead of the global OSC-11 sequence, keeping
each pane's color isolated (OSC 11 would colour the whole terminal, so multiple
panes in one window would fight over a single background). pt off resets the
pane style (bg=default). Known limitation: the fzf live-preview tint (while
the picker or viewer is open) still uses OSC 11 even inside tmux; the
steady-state prompt path is per-pane, and the background snaps back to per-pane
when the picker closes.
pt view — a merged list+preview browser: an fzf picker over the families
with a colored preview pane that ctrl-t cycles through swatch and contrast
views across the dark and light palettes. Read-only — it previews; pt pick
pins. Reachable from the pt menu and as ptview.
APCA in pt contrast — each shade is now scored against the theme text in
APCA Lc alongside the WCAG ratio. The colored contrast view paints the scores
in each shade's best-readable foreground (the tone the engine recommends).
Changed
The pt pick and pt view fzf menus are high-contrast over the live tint: the
family list is colored per-line (--ansi) in a tone that contrasts the tinted
background — light on the dark palette, dark on the light one — so a ctrl-t
toggle reflows the list in place and the focused row is a legible pill.
Previously the list inherited the terminal's ANSI foreground, with no
guaranteed contrast against the tint.
The pt pickctrl-t dark/light toggle is flicker-free: it reloads the list,
preview, and header in place instead of restarting fzf (which redrew the whole
screen).
The pt hub menu adapts to the terminal width: the list pane is sized to its
widest action row so the glosses are no longer ellipsized, and the description
preview reflows to fill its pane instead of being hard-wrapped (the ↳
markers). On a terminal too narrow to fit both side by side, the preview stacks
below the list so each keeps the full width.
Removed
scripts/preview.sh — the static palette dump is folded into pt view's
colored browser. pt preview stays as a back-compat alias for pt view.
Fixed
The ctrl-t dark/light flip in pt pick and pt view now repaints the
terminal background together with the list and swatches instead of lagging a
keystroke behind (the background used to catch up only on the next arrow key).
The live tint is routed through fzf's coordinated execute-silent, not a raw
OSC write during the transform, which fzf's renderer dropped.
Closing the picker or viewer (ENTER/ESC) no longer flashes the terminal's
default background: fzf renders inline (sub-100% height), so its exit never
repaints the whole frame.
After a ctrl-t toggle to the other group, committing a pick no longer
disables the ctrl-t toggle on the next pt pick. The plugin compares palette
paths by inode (-ef, matching the CLI), so a committed PWDTINTII_PALETTE in
a bin/.. or symlinked form is still recognized as the bundled palette.
The prompt hook preserves $?, so a prompt that shows the last command's exit
status (zsh %?, or a bash prompt reading a captured $?) is no longer reset
to success on every command by the background emit.
A PROMPT_COMMAND array (bash 5.1+) no longer double-registers the hook and
emits OSC 11 twice per prompt — the install now scans every element.
A custom palette or overrides file without a trailing newline keeps its last
row instead of silently dropping it.
The zsh plugin runs cleanly under a user's setopt nounset, matching the bash
plugin under set -u.