#defutf8 on setenv SSH_AUTH_SOCK $HOME/tmp/agent-socket # don't want flow control defflow off # don't hang defnonblock on nonblock on defobuflimit 32768 #idle... #blankerprg caption string "%?%F%{.R.}%?%3n %t%? [%h]%?" sorendition =s dG #hardstatus alwayslastline "%{= dd}%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" # IvanR's -- explanation here: http://seppuku.net/~ivan/hstatus.txt #hardstatus alwayslastline "%{bw}[%{Y}%h%011=%{-}]%+01=%{Kw} %-w%50L>%{yk}%{Y.}%n%{-} %t%{-}%+w %-012=%{y} %m/%d %c" # with the time: #hardstatus alwayslastline "%{= dd}%-Lw%50>%{= BW}%n %t%{-}%+Lw %-012=%{y} %m/%d %c" # with the load average -- not ideal because it isn't actually right-justified: hardstatus alwayslastline "%{= dd}%-Lw%50>%{= BW}%n%f* %t%{-}%+Lw %-014=%{y}%l" #verbose on multiuser on msgminwait .5 #zombie ko # glean titles from commands typed at prompt shelltitle "% |zsh" # make bells in other windows audible bell "Bell in window %" # add an easy key to renumber the current window bind \# colon "number " #vbell on vbell off # detach on hangup autodetach on # don't display the copyright page startup_message off # emulate .logout message pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended." # advertise hardstatus support to $TERMCAP termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\' # because IRIX doesn't know 'bout 'screen' #term "vt100" term "screen" # make the shell in every window a login shell #shell -$SHELL # autoaka testing # shellaka '> |tcsh' # shellaka '$ |sh' # set every new windows hardstatus line to something descriptive #defhstatus "screen: ^E (^Et)]20;^E.xpm" defhstatus "screen: ^E (^Et)" defscrollback 10000 ################ # # xterm tweaks # #xterm understands both im/ic and doesn't have a status line. #Note: Do not specify im and ic in the real termcap/info file as #some programs (e.g. vi) will not work anymore. termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l #80/132 column switching must be enabled for ^AW to work #change init sequence to not switch width termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l # Make the output buffer large for (fast) xterms. termcapinfo xterm* OL=10000 # tell screen that xterm can switch to dark background and has function # keys. termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l' termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~' termcapinfo xterm 'kh=\E[1~:kI=\E[2~:kD=\E[3~:kH=\E[4~:kP=\E[5~:kN=\E[6~' # special xterm hardstatus: use the window title. termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]0;screen\007' # our xterm has colors! (rxvt, too) termcap xterm 'AF=\E[3%dm:AB=\E[4%dm' terminfo xterm 'AF=\E[3%p1%dm:AB=\E[4%p1%dm' # our vt102 has colors! (ProTERM) termcap vt102 'AF=\E[3%dm:AB=\E[4%dm' terminfo vt102 'AF=\E[3%p1%dm:AB=\E[4%p1%dm' # our vt220 has colors! (CRT at work) termcap vt220 'AF=\E[3%dm:AB=\E[4%dm' terminfo vt220 'AF=\E[3%p1%dm:AB=\E[4%p1%dm' termcapinfo vt220 'hs:ts=\E]2;:fs=\007:ds=\E]0;screen\007' #terminfo xterm 'vb=\E[?5h$<200/>\E[?5l' termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l' # emulate part of the 'K' charset termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337' # from thtp://www.frexx.de/xterm-256-notes/: # terminfo and termcap for nice 256 color terminal # allow bold colors - necessary for some reason attrcolor b ".I" # tell screen how to set colors. AB = background, AF=foreground #termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm' # erase background with current bg color defbce "on" # printscreen support termcapinfo xterm 'po=\E[5i:pf=\E[4i' termcapinfo vt100 'po=\E[5i:pf=\E[4i' termcapinfo vt220 'po=\E[5i:pf=\E[4i' # don't use xterm's alternative window buffer, it breaks scrollback termcapinfo xterm|xterms|xs ti=\E7\E[?47l ################ # # wyse terminals # #wyse-75-42 must have flow control (xo = "terminal uses xon/xoff") #essential to have it here, as this is a slow terminal. termcapinfo wy75-42 xo:hs@ # New termcap sequences for cursor application mode. termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J ################ # # other terminals # #make hp700 termcap/info better termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@' # Extend the vt100 desciption by some sequences. termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC termcap vt220* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC terminfo vt220* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC ################ # # keybindings # #remove some stupid / dangerous key bindings bind k bind ^k bind . bind ^\ bind \\ bind ^h #bind h bind w #make them better bind \\ quit bind 'K' kill bind 'I' login on bind 'O' login off bind '}' history # Yet another hack: # Prepend/append register [/] to the paste if ^a^] is pressed. # This lets me have autoindent mode in vi. #register [ "\033:se noai\015a" #register ] "\033:se ai\015a" #bind ^] paste [.] bind ^] paste . #bind 'm' screen -t Mutt "kill -9 -1" bind 'm' screen -t Mutt sh -c "cd ~/attach && mutt" bind 'T' screen -t Todo vim $HOME/repos/todo register > "\001:writebuf " bind > process > printcmd "" source $HOME/.screenrc-local