Merge pull request #949 from ontherunvaro/short-command-dir

Support shortened command & dir name in xterm title plugin
pull/412/merge
Nils Winkler 2017-04-27 08:04:41 +02:00 committed by GitHub
commit e275c62767
2 changed files with 17 additions and 3 deletions

View File

@ -1,18 +1,28 @@
cite about-plugin cite about-plugin
about-plugin 'automatically set your xterm title with host and location info' about-plugin 'automatically set your xterm title with host and location info'
_short-dirname () {
local dir_name=`dirs -0`
[ "$SHORT_TERM_LINE" = true ] && [ ${#dir_name} -gt 8 ] && echo ${dir_name##*/} || echo $dir_name
}
_short-command () {
local input_command="$@"
[ "$SHORT_TERM_LINE" = true ] && [ ${#input_command} -gt 8 ] && echo ${input_command%% *} || echo $input_command
}
set_xterm_title () { set_xterm_title () {
local title="$1" local title="$1"
echo -ne "\033]0;$title\007" echo -ne "\033]0;$title\007"
} }
precmd () { precmd () {
set_xterm_title "${SHORT_USER:-${USER}}@${SHORT_HOSTNAME:-${HOSTNAME}} `dirs -0` $PROMPTCHAR" set_xterm_title "${SHORT_USER:-${USER}}@${SHORT_HOSTNAME:-${HOSTNAME}} `_short-dirname` $PROMPTCHAR"
} }
preexec () { preexec () {
set_xterm_title "$1 {`dirs -0`} (${SHORT_USER:-${USER}}@${SHORT_HOSTNAME:-${HOSTNAME}})" set_xterm_title "`_short-command $1` {`_short-dirname`} (${SHORT_USER:-${USER}}@${SHORT_HOSTNAME:-${HOSTNAME}})"
} }
case "$TERM" in case "$TERM" in

View File

@ -36,6 +36,10 @@ export SCM_CHECK=true
# Will otherwise fall back on $USER. # Will otherwise fall back on $USER.
#export SHORT_USER=${USER:0:8} #export SHORT_USER=${USER:0:8}
# Set Xterm/screen/Tmux title with shortened command and directory.
# Uncomment this to set.
#export SHORT_TERM_LINE=true
# Set vcprompt executable path for scm advance info in prompt (demula theme) # Set vcprompt executable path for scm advance info in prompt (demula theme)
# https://github.com/djl/vcprompt # https://github.com/djl/vcprompt
#export VCPROMPT_EXECUTABLE=~/.vcprompt/bin/vcprompt #export VCPROMPT_EXECUTABLE=~/.vcprompt/bin/vcprompt