Skip to content

Instantly share code, notes, and snippets.

@dan1d
Created October 22, 2018 20:16
Show Gist options
  • Select an option

  • Save dan1d/bed79f431682a98cd73e031deff9250b to your computer and use it in GitHub Desktop.

Select an option

Save dan1d/bed79f431682a98cd73e031deff9250b to your computer and use it in GitHub Desktop.
Set the iTerm tab title to the current directory, not full path for ZSH OR BASH
# add tab name to iterm using zsh( reference: https://github.com/robbyrussell/oh-my-zsh/issues/5700 )
# put this in your .zshrc file.
DISABLE_AUTO_TITLE="true"
function precmd () {
window_title="\033]0;${PWD##*/}\007"
echo -ne "$window_title"
}
# add tab name to iterm using bash(reference: https://gist.github.com/phette23/5270658)
# put this in your .bash_profile
if [ $ITERM_SESSION_ID ]; then
export PROMPT_COMMAND='echo -ne "\033];${PWD##*/}\007"; ':"$PROMPT_COMMAND";
fi
# Piece-by-Piece Explanation:
# the if condition makes sure we only screw with $PROMPT_COMMAND if we're in an iTerm environment
# iTerm happens to give each session a unique $ITERM_SESSION_ID we can use, $ITERM_PROFILE is an option too
# the $PROMPT_COMMAND environment variable is executed every time a command is run
# see: ss64.com/bash/syntax-prompt.html
# we want to update the iTerm tab title to reflect the current directory (not full path, which is too long)
# echo -ne "\033;foo\007" sets the current tab title to "foo"
# see: stackoverflow.com/questions/8823103/how-does-this-script-for-naming-iterm-tabs-work
# the two flags, -n = no trailing newline & -e = interpret backslashed characters, e.g. \033 is ESC, \007 is BEL
# see: ss64.com/bash/echo.html for echo documentation
# we set the title to ${PWD##*/} which is just the current dir, not full path
# see: stackoverflow.com/questions/1371261/get-current-directory-name-without-full-path-in-bash-script
# then we append the rest of $PROMPT_COMMAND so as not to remove what was already there
# voilà!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment