feat(tmux): show window names in the status bar and pane titles on the border #107

Merged
lyrathorpe merged 1 commits from feat/tmux-window-and-pane-titles into main 2026-08-28 13:49:33 +01:00
Showing only changes of commit 5bca7e176a - Show all commits
+19
View File
@@ -313,6 +313,14 @@ in
extraConfig = ''
set -g @catppuccin_flavor 'mocha'
set -g @catppuccin_window_status_style 'rounded'
# Catppuccin's default window text is #T, the pane title, which every
# program in the pane is free to overwrite -- the shell writes the
# hostname, Claude Code writes its current task, and a hand-set window
# name never appears. Show the window name instead, falling back to the
# pane title when the window holds a single pane and the two carry the
# same information anyway.
set -g @catppuccin_window_text ' #{?#{==:#{window_panes},1},#T,#W}'
set -g @catppuccin_window_current_text ' #{?#{==:#{window_panes},1},#T,#W}'
'';
}
resurrect # save/restore sessions
@@ -357,6 +365,17 @@ in
set -g renumber-windows on
set -g set-clipboard on
# Pane titles on the border, but only once a window is split -- a single
# pane's title is already in the status bar. pane-border-status takes no
# format, so the hook recomputes it whenever the layout changes, which
# covers both splitting and closing a pane.
set -g pane-border-format " #P #{pane_title} "
set -g pane-border-status off
set-hook -g window-layout-changed 'set -Fw pane-border-status "#{?#{>:#{window_panes},1},top,off}"'
# Pane titles have no default binding.
bind T command-prompt -p "pane title:" "select-pane -T '%%'"
# Catppuccin v2 statusline. Must run after the plugin has loaded;
# home-manager appends this extraConfig after the whole plugin list.
set -g status-left-length 100