zsh, tmux, ssh

This commit is contained in:
Johannes Findeisen 2025-07-22 23:13:38 +02:00
commit 3bf00c9f67
2 changed files with 33 additions and 11 deletions

25
.zsh/functions.d/s.sh Normal file
View file

@ -0,0 +1,25 @@
# SSH with automatic tmux window renaming
s() {
# Only rename tmux window if inside tmux
if [ -n "$TMUX" ]; then
local original_name
original_name=$(tmux display-message -p '#W')
# Extract the host from arguments (first arg without user@ or port)
local ssh_host="$1"
ssh_host="${ssh_host#*@}" # remove user@
ssh_host="${ssh_host%% *}" # trim after space
ssh_host="${ssh_host%%:*}" # remove port if given (e.g. user@host:2222)
tmux rename-window "${ssh_host%%.*}" # short hostname
# Run SSH session
command ssh "$@"
# Restore previous tmux window name
tmux rename-window "$original_name"
else
command ssh "$@"
fi
}

19
.zshrc
View file

@ -1,7 +1,7 @@
# Source some global/public stuff
source ~/.env
# Source some private stuff
# Source some private stuff
source ~/.penv
# Java Stuff
@ -89,11 +89,6 @@ HISTFILE=~/.zsh_history
# Load oh-my-zsh stuff
source $ZSH/oh-my-zsh.sh
# Source some functions
for function in ~/.zsh/functions.d/*.sh; do
source $function
done
# Some aliases
alias ..='cd ..'
alias ...='cd ../..'
@ -134,17 +129,19 @@ case $TERM in
;;
esac
if [ -f /usr/bin/shellpic ]; then
if [ -f /usr/bin/shellpic ]; then
if [ -f ~/images/tux.png ]; then
/usr/bin/shellpic --shell24 --scale-x 50 ~/images/tux.png
fi
fi
if [ -n "$TMUX" ]; then
printf '\033k%s\033\\' "$(hostname)"
fi
#source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
#[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# Source some functions
for function in ~/.zsh/functions.d/*.sh; do
source $function
done