Files
dotfiles/home/.tmux/tab-name.sh
Andrejus fe2c0c5a30 feat: codespace tab names and session widget improvements
Show friendly codespace name (without trailing random ID) in tmux tabs,
prefixed with cs:. Add ctrl-n to session widget to start a new copilot
session, and improve header labels and field display.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 17:15:31 +00:00

30 lines
740 B
Bash
Executable File

#!/usr/bin/env bash
# Tab name for tmux automatic-rename.
# Usage: tab-name.sh <command> <dirname>
# Shows dirname for shells, command for everything else. Truncates at 15 with ….
cmd="$1"
dir="$2"
max=15
case "$cmd" in
zsh|bash|fish|sh) name="$dir" ;;
*) name="$cmd" ;;
esac
# In Codespaces, show friendly name without trailing random ID
# Codespace names: "adjective-noun-id" where id is alphanumeric gibberish
if [[ -n "$CODESPACE_NAME" ]]; then
friendly="${CODESPACE_NAME%-*}"
# If no hyphen was found, use full name
[[ "$friendly" == "$CODESPACE_NAME" ]] && friendly="$CODESPACE_NAME"
echo "cs:${friendly}"
exit 0
fi
if (( ${#name} > max )); then
echo "${name:0:$max}"
else
echo "$name"
fi