X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/c551d987043662d8b7fbcdce42b12bac468f08bb..29ff3db6dd936515eef1d15b34a42b6ffca4f4a5:/.zsh/zshrc/80_xtermtitle diff --git a/.zsh/zshrc/80_xtermtitle b/.zsh/zshrc/80_xtermtitle deleted file mode 100644 index 8059ca8..0000000 --- a/.zsh/zshrc/80_xtermtitle +++ /dev/null @@ -1,74 +0,0 @@ -# zshrc/80_xtermtitle -# -# Fancy setting of the xterm title -# -# Copyright © 1994–2008 martin f. krafft -# Released under the terms of the Artistic Licence 2.0 -# -# Source repository: git://git.madduck.net/etc/zsh.git -# -# Based on http://www.zshwiki.org/cgi-bin/wiki.pl?ZshHardStatus -# - -__set_xterm_title() { - case $TERM in - screen) - print -nR $'\033k'$1$'\033'\\ - print -nR $'\033]0;'$2$'\a' - ;; - xterm|rxvt*) - print -nR $'\033]0;'$*$'\a' - ;; - esac -} - -__get_session_flags() { - [ -n "$SSH_CONNECTION" ] || return - local flags; flags= - [ -n "$DISPLAY" ] && flags="${flags}x" - [ -n "$SSH_AUTH_SOCK" ] && flags="${flags}a" - [[ $SSH_CLIENT = *:* ]] && flags="${flags}6" - [ -n "$flags" ] && echo "[${flags}]" -} - -__get_standard_prompt() { - [[ -z $SSH_CLIENT ]] || print -nP "%m" - print -P "%#%25\<..\<%~ $(__get_session_flags)" -} - -_set_plain_xterm_title() { - __set_xterm_title "$(__get_standard_prompt)" -} -precmd_functions+=_set_plain_xterm_title - -_set_cmd_xterm_title () { - local -a cmd; cmd=(${(z)1}) # Re-parse the command line - - # Construct a command that will output the desired job number. - case $cmd[1] in - fg) if (( $#cmd == 1 )); then - # No arguments, must find the current job - cmd=(builtin jobs -l %+) - else - # Replace the command name, ignore extra args. - cmd=(builtin jobs -l ${(Q)cmd[2]}) - fi;; - %*) cmd=(builtin jobs -l ${(Q)cmd[1]});; # Same as "else" above - *) # Not resuming a job, - __set_xterm_title $cmd[1]:t${cmd[2]:+ }$cmd[2,-1] "| $(__get_standard_prompt)" - return;; # so we're all done - esac - - local -A jt; jt=(${(kv)jobtexts}) # Copy jobtexts for subshell - - # Run the command, read its output, and look up the jobtext. - # Could parse $rest here, but $jobtexts (via $jt) is easier. - $cmd >>( - read num rest - cmd=(${(z)${(e):-\$jt$num}}) - __set_xterm_title $leader$cmd[1]:t${cmd[2]:+ }$cmd[2,-1] "| $(__get_standard_prompt)" - ) -} -preexec_functions+=_set_cmd_xterm_title - -# vim:ft=zsh