Forked from phette23/current-dir-in-iterm-tab-title.sh
Last active
June 12, 2018 18:54
-
-
Save ozydingo/cc4d400fcf754ae0f1456ab7240be604 to your computer and use it in GitHub Desktop.
Set the iTerm tab title to the current directory, not full path.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Ensure that you have your iTerm configured to allow the shell to modify the window / tab title. | |
# In iTerm 3.1.2 this is a checkbox located in Settings > Profile > Terminal: "Terminal may set tab/window title" | |
# Then, 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