dotfiles/bash/term_title

35 lines
935 B
Bash

# Tell Apple Terminal about the working directory at each prompt.
if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then
update_terminal_cwd() {
# Identify the directory using a "file:" scheme URL,
# including the host name to disambiguate local vs.
# remote connections. Percent-escape spaces.
local SEARCH=' '
local REPLACE='%20'
local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
printf '\e]7;%s\a' "$PWD_URL"
}
else
update_terminal_cwd() { :; }
fi
set_term_title() {
if [[ -n "${SSH_CLIENT}" ]]; then
local title="$USER@${HOSTNAME%%.*}:${PWD/#$HOME/\~}"
else
local title="${PWD/#$HOME/\~}"
fi
update_terminal_cwd
case $TERM in
screen*|xterm*|rxvt*|alacritty)
printf "\e]2;%s\a" "${title}"
;;
*)
: # NOOP
;;
esac
}
# vim: ft=bash