aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/home
diff options
context:
space:
mode:
authorLibravatar sommerfeld <[email protected]>2026-04-17 10:53:43 +0100
committerLibravatar sommerfeld <[email protected]>2026-04-17 10:53:43 +0100
commit7f16bfd3199e9d7be6cc1e5a9d36a8687aa88943 (patch)
tree12f9091b08b25470f4c7f2263877f0a0bb2426ee /home
parent8908434695ee9e5c54ddae3ee74e02ef48047486 (diff)
downloaddotfiles-7f16bfd3199e9d7be6cc1e5a9d36a8687aa88943.tar.gz
dotfiles-7f16bfd3199e9d7be6cc1e5a9d36a8687aa88943.tar.bz2
dotfiles-7f16bfd3199e9d7be6cc1e5a9d36a8687aa88943.zip
feat: prefix zellij tab name with tab number
Queries tab position once at shell init (cached, no per-prompt cost) and prepends it: '1:dotfiles', '2:~:nvim', etc.
Diffstat (limited to 'home')
-rw-r--r--home/.config/zsh/.zshrc6
1 files changed, 4 insertions, 2 deletions
diff --git a/home/.config/zsh/.zshrc b/home/.config/zsh/.zshrc
index 746c5b0..18aa3e6 100644
--- a/home/.config/zsh/.zshrc
+++ b/home/.config/zsh/.zshrc
@@ -146,8 +146,10 @@ fi
# ── Zellij tab naming (dir:cmd like tmux) ────────────────────────────────────
if [[ -n "$ZELLIJ" ]]; then
_zellij_dir() { [[ "$PWD" == "$HOME" ]] && echo '~' || echo "${PWD##*/}"; }
- _zellij_tab_precmd() { zellij action rename-tab "$(_zellij_dir)" 2>/dev/null; }
- _zellij_tab_preexec() { zellij action rename-tab "$(_zellij_dir):${1%% *}" 2>/dev/null; }
+ _zellij_tab_idx=$(zellij action current-tab-info 2>/dev/null | grep -oP 'position: \K\d+')
+ (( _zellij_tab_idx++ )) # 0-indexed → 1-indexed
+ _zellij_tab_precmd() { zellij action rename-tab "$_zellij_tab_idx:$(_zellij_dir)" 2>/dev/null; }
+ _zellij_tab_preexec() { zellij action rename-tab "$_zellij_tab_idx:$(_zellij_dir):${1%% *}" 2>/dev/null; }
add-zsh-hook precmd _zellij_tab_precmd
add-zsh-hook preexec _zellij_tab_preexec
fi