Repository navigation
v2.33.0: TUI color themes for light and dark terminals
The TUI now uses colors from your terminal's own palette by default, so it is readable on both light and dark terminals. You can also pick built-in or custom themes. This release also fixes a Linux race that could make daemons with port or ready_port fail to start when several daemons start together.
Added
-
TUI color themes (#1082) by @dohzya and @jdx. The TUI used to hardcode RGB colors, white text and near-black backgrounds, which made it hard to read on light terminals.
- The new default theme,
auto, uses only the terminal's ANSI palette and does not set a background. The cursor row is bold and underlined, and rows selected withSpaceare italic, instead of being highlighted with a background color. - Built-in themes:
catppuccin_latte,catppuccin_frappe,catppuccin_macchiatoandcatppuccin_mocha. These themes paint the whole screen background. - You can define custom themes under
[themes.<name>]in any config file. A custom theme only needs the keys it changes from itsbase, which can beauto(the default) or any other theme. Colors can be#rrggbb, ANSI names such asredorbright_black,reset, or a palette index from 0 to 255. pitchfork reports invalid colors, unknown themes andbasecycles when the TUI starts. - With
theme = "auto", you can setlight_themeanddark_themeto choose a theme based on the terminal's background. pitchfork asks the terminal for its background color when the TUI starts, and falls back toautoif the terminal doesn't answer.
[settings.tui] light_theme = "catppuccin_latte" dark_theme = "catppuccin_mocha" # or pin one theme: # theme = "mine" [themes.mine] base = "catppuccin_latte" selection_bg = "#ddd6fe"
New settings:
tui.theme(defaultauto, or setPITCHFORK_TUI_THEME),tui.light_themeandtui.dark_theme(both empty by default). - The new default theme,
Changed
- The TUI's default look has changed (#1082). The old fixed RGB colors are no longer the default because
autofollows your terminal's colors. Thepitchforktitle is now two colors (orangepitch, redfork) instead of a gradient, so it can follow the active theme. If you want a fixed palette, settui.themeto one of the Catppuccin themes.
Fixed
- Linux: daemons with
portorready_portno longer fail to start when nothing is using the port (#1086) by @neilconway. This could happen when several daemons started at once and failed withport ... is already in use on 127.0.0.1, but no process holding it could be found. The cause was the port-availability check. It could race with child processes the supervisor was starting at the same time, and those children briefly held a copy of the check's socket. On Unix, the check now binds the port without listening, so these copies no longer block it. Ports that are actually in use are still detected.
New Contributors
- @dohzya made their first contribution in #1082
- @neilconway made their first contribution in #1086
Full Changelog: v2.32.4...v2.33.0
💚 Sponsor pitchfork
pitchfork is built and maintained by @jdx, an open source developer at entire.io, the title sponsor of his open source work.
If pitchfork has a place in your development workflow, please consider becoming an individual or company sponsor. Your support funds ongoing development and helps keep pitchfork fast, free, and independent.