docs:tips_n_tricks:screen.html
This is an old revision of the document!
Table of Contents
screen
show current directory or command in window name when using zsh
put this in your .zshrc
case "$STY" in "") ;; "$PPID".*) precmd () { let "len = 54 - ${#DISPLAY}" screen -X -S "$PPID" title "$DISPLAY - `pwd|sed -e 's:^.*\(.\{'$len'\}\)$:..\1:g'`" } preexec () { screen -X -S "$PPID" title "$DISPLAY - running: $1" # # Maybe $2 or $3 is a better choice - I didn't get the difference yet. You may # # analyse this with the statement: # printf "1:%s\n2:%s\n3:%s\n" "$1" "$2" "$3" >> "/tmp/preexec.$$.log" } ;; esac
show current directory or command in window name when using bash
This is the beginning of an humble try:
case "$STY" in "") ;; "$PPID".*) precmd () { let "len = 54 - ${#DISPLAY}" screen -X -S "$PPID" title "$DISPLAY - `pwd|sed -e 's:^.*\(.\{'$len'\}\)$:..\1:g'`" } preexec () { screen -X -S "$PPID" title "$DISPLAY - running: $1" # # Maybe $2 or $3 is a better choice - I didn't get the difference yet. You may # # analyse this with the statement: # printf "1:%s\n2:%s\n3:%s\n" "$1" "$2" "$3" >> "/tmp/preexec.$$.log" } if [ "$BASH" ] then PROMPT_COMMAND='precmd' screentitle() { preexec "$BASH_COMMAND"; } # # nice try :-/ # trap screentitle DEBUG on_debug() { case "$BASH_COMMAND" in "$PROMPT_COMMAND") ;; *) preexec "$BASH_COMMAND" >> /dev/tty < /dev/null 2>&1 & disown ;; esac } trap on_debug DEBUG fi # as we show user and cwd in screen title, # clear hardstatus in screen: echo -en "\033]0;\007" ;; esac
This seems to break some Pipe chains. There might be a better approach at at twistedmatrix where the idea to use “trap
… DEBUG
” was stolen from
Actually, I consider this trick dirty and hence both solutions.
sample .screenrc file
#remove some stupid / dangerous key bindings bind ^k bind ^\ bind k startup_message off vbell on vbell_msg " Klingeling! " bindkey -k kb stuff ^? defscrollback 500 caption always # # show window title and optional # # hardware status line text # caption string "%?%F%{.c.}%?%3n %t%? [%h]%?" # windowlist string "%3n %t %?[%h]%?" # show window title if set, # else hardware status line text windowlist string "%3n %?[%h]%:%t%?" caption string "%?%F%{.c.}%?%3n%? [%h]%: %t%?" hardstatus on hardstatus alwayslastline msgminwait 0
docs/tips_n_tricks/screen.html.1280501591.txt.gz · Last modified: 30.07.2010 16:53 CEST by peter