# This is global screenrc file.
#
# Flaws of termcap and standard settings are done here.
#

# don't display the copyright page
startup_message off

# emulate .logout message
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."

#defflow on # will force screen to process ^S/^Q

deflogin on
#autodetach off

# no annoying audible bell, please
vbell on
vbell_msg "   Wuff  ----  Wuff!!  "

# make the shell in every window a login shell
shell -$SHELL

# all termcap entries are now duplicated as terminfo entries.
# only difference should be the slightly modified syntax, and check for
# terminfo entries, that are already corected in the database.
# 
# G0 	we have a SEMI-GRAPHICS-CHARACTER-MODE
# WS	this sequence resizes our window.
# cs    this sequence changes the scrollregion
# hs@	we have no hardware statusline. screen will only believe that
#       there is a hardware status line if hs,ts,fs,ds are all set.
# ts    to statusline
# fs    from statusline
# ds    delete statusline
# al    add one line
# AL    add multiple lines
# dl    delete one line
# DL    delete multiple lines
# ic    insert one char (space)
# IC    insert multiple chars
# nx    terminal uses xon/xoff

termcap  facit|vt100|xterm LP:G0
terminfo facit|vt100|xterm LP:G0

# the vt100 description does not mention "dl". *sigh*
termcap  vt100 dl=5\E[M
terminfo vt100 dl=5\E[M

# facit's "al" / "dl"  are buggy if the current / last line
# contain attributes...
termcap  facit al=\E[L\E[K:AL@:dl@:DL@:cs=\E[%i%d;%dr:ic@
terminfo facit al=\E[L\E[K:AL@:dl@:DL@:cs=\E[%i%p1%d;%p2%dr:ic@

# make sun termcap/info better
termcap  sun 'up=^K:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:IC=\E[%d@:WS=1000\E[8;%d;%dt'
terminfo sun 'up=^K:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC:IC=\E[%p1%d@:WS=\E[8;%p1%d;%p2%dt$<1000>'

# 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 (no,no, may (jw)) not work anymore.
termcap  xterm|fptwist hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm|fptwist hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l

# Long time I had this in my private screenrc file. But many people
# seem to want it (jw):
# we do not want the width to change to 80 characters on startup:
# on suns, /etc/termcap has :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l:
termcap xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
terminfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

#
# Do not use xterms alternate window buffer. 
# This one would not add lines to the scrollback buffer.
#termcap xterm|xterms|xs ti=\E7\E[?47l
#terminfo xterm|xterms|xs ti=\E7\E[?47l

# make hp700 termcap/info better
termcap  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@'
terminfo 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@'

# wyse-75-42 must have defflow control (xo = "terminal uses xon/xoff")
# (nowadays: nx = padding doesn't work, have to use xon/off)
# essential to have it here, as this is a slow terminal.
termcap wy75-42 nx:xo:Z0=\E[?3h\E[31h:Z1=\E[?3l\E[31h
terminfo wy75-42 nx:xo:Z0=\E[?3h\E[31h:Z1=\E[?3l\E[31h

################
#
# keybindings
#

# remove some stupid / dangerous key bindings
bind k
bind ^k
bind .
bind ^\
bind \\
bind ^h
bind h
# 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 [.]

# rebind so the window list is recently used first.
bind '"' windowlist -m

# On Debian GNU/Linux, `<--' (Backspace key) should send char `\177':
bindkey -k kb stuff "\177"

######################
#
# status bar settings
#

# Status bar with hostname, term names and clock/calendar info
#caption always "${HOSTNAME} %{-b}%{= wb}%-Lw%{= wr}%50>%{+b}%n%f %t%{= wb}%{-b}%+Lw%{= wr}%-017= %c %Y-%m-%d"

# To disable the status bar uncomment the following line
# caption splitonly

# Some more status bar examples provided by Elan Ruusame <glen@pld...>
#
# colourized windowlist chooser
## windowlist string "%{+ g}%02n%{-}: %{+ y}%t%{-}%f [%h]"

# misc captions

# active window is bolder
#caption string "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

# glen's old one colour default
#caption string "%c %t:%n|%? [%h]%? %w"
#sorendition "=s dg"

# glen's coloured one where active window is different colour
## caption string "%{=s wb}%{+b g.}%c%{-} %{+b w.}%t:%n%{-}|%? [%{+b y.}%h%{-}]%? %-Lw[%{+b w}%n%f %t%{-}]%+Lw"
#sorendition "=d ry"

# TmC captions
#caption always "%c %t:%n|%? [%h]%? %w"

#caption always "%c %t - ( %w )"
#sorendition "= gk"

# green line
#caption always "%{=b by} %c %{-} %{= .w}[%{=b .w}%n%{-}%{= .w}]%{=b .w}%t%{-} %{=b .k}[ %{= .k}%w %{=b .k}]%{-} %{=b .k}@ TmC Serv%{-}"
#sorendition "=b gy"

# blue line
#caption always "%{=b .y}%c%{-} %{=b .w}%t%{-} %{= .k}( %{= .w}%w %{= .k})%{-}"
#sorendition "=b br"

# blue line: and active window is bold
#caption always "%{=b .y}%c%{-} %{=b .w}%t%{-} %{= .k}( %{= .w}%-Lw%{=b BW}%50>%n* %t%{-}%+Lw%< %{= .k})%{-}"
#sorendition "=b br"

