# =============================================================== # VARIABLES - Boolean values (on/off) # =============================================================== # detach on hangup autodetach on # default: on crlf off # default: off deflogin off # default: on # defsilence off # default: off # hardcopy_append on # default: off hardcopy_append off # default: off nethack on # default: off # don't display the copyright page startup_message off # default: on # no annoying audible bell, please vbell off # =============================================================== # xterm tweaks # =============================================================== 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 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' termcapinfo xterm ti@:te@ termcapinfo linux "ve=\E[?25h\E[?17;0;64c" termcap aterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l' terminfo aterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l' termcapinfo aterm ti@:te@ # =============================================================== # VARIABLES - Number values # =============================================================== defscrollback 1000 # default: 100 # msgminwait 3 # default: 1 silencewait 15 # default: 30 # # =============================================================== # VARIABLES - Paths and Files (esp. programs) # =============================================================== # bufferfile: The file to use for commands # "readbuf" ('<') and "writebuf" ('>'): # bufferfile $HOME/.screen_exchange # # hardcopydir: The directory which contains all hardcopies. hardcopydir $HOME/.hardcopy # hardcopydir ~/.screen # # shell: Default process started in screen's windows. # Makes it possible to use a different shell inside screen # than is set as the default login shell. Halleluja! :-) shell zsh # shell bash # shell ksh # # =============================================================== # VARIABLES - Strings # =============================================================== # # some notes on COLOR before explaining its use in # the commands caption, hardstatus, and sorendition. # # COLOR: colors codes are combinations of # [attribute modifier] [color description] # the manual talks of "attribute/color modifiers". # see the manual, section "STRING ESCAPES". # # Color table: # 0 Black . leave color unchanged # 1 Red b blue # 2 Green c cyan # 3 Brown / yellow d default color # 4 Blue g green b bold # 5 Purple k blacK B blinking # 6 Cyan m magenta d dim # 7 White r red r reverse # 8 unused/illegal w white s standout # 9 transparent y yellow u underline # # note: "dim" is not mentioned in the manual. # # =========================================== # CAPTION - shows a "caption" for the window. # =========================================== # a "caption" is another line which can show information - # in addition to the hardstatus line. # # use caption to show window list: # caption always "%{= kc}%?%-Lw%?%{= kY}%n*%f %t%?(%u)%?%{= kc}%?%+Lw%?" # # caption always '%{= wb}%50=%n%f %t%{= wb}' # this basically just shows the current window number and title # on its own; the "%50=" displays it in the middle of the line. # # "push right border: current time with seconds and current date" # caption always "%=%c:%s %Y-%m-%d" # # caption always "%>%{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?%<" # caption always "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" # caption always "%?%F%{.RW}%?%3n %t%? [%h]%?" # caption always "%{rk}%H %{gk}%c %{yk}%M%d %{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?" # caption always "%{kG}%?%-Lw%?%{gk}%n*%f %t%?(%u)%?%{kG}%?%+Lw%?" # caption always "%{rk}%H %{gk}%c %{yk}%M%d %{wk}%?%-Lw% ?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?" # caption always "%{rk}%H%{gk} | %c %{yk}%d.%m.%Y | %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? | %{rk} Load: %l %{wk}" # caption always "%{=}%{+b kR}%H %{+b kY}%M %d %{+b kG}%0c %{+b kB}%?%-Lw%?%{+b kW}%n*%f %kt%?(%u)%?%{+bkB}%?%+Lw%? | %{kR} Load: %l %{kB}" # caption always "%{=}%{+b kR}%H %{+b kY}%M %d %{+b kG}%0c %{+b kB}%?%-Lw%?%{+b kW}%n*%f %kt%?(%u)%?%{+bkB}%?%+Lw%? | %{kR} Load: %l %{kB}" # caption always '%{-b}%{= wb}%-Lw%{= wr}%{+b}%n%f %t%{= wb}%{-b}%+Lw %{= wr} %=%c %Y-%m-%d' # caption always "%c %{yk}%d.%m.%Y | %{rw}%n%f %t %{bk} | %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?" caption always " %{rk}%n%f %t %{yk} | %?%-Lw%?%{ky}%n*%f %t%?(%u)%?%{yk}%?%+Lw%?" #caption always "%{yK} -=%H=- | $LOGNAME | %{yK}%c | %{yK}%-Lw%{yK}%50>%{Ky}%n%f* %t%{-}%+Lw%<%{- Wk}" # =============================== # Hardstatus Line and sorendition # =============================== backtick 4 0 0 /home/deifl/bin/bandbreite backtick 5 0 0 /home/deifl/bin/mcounter hardstatus alwayslastline "%{kg} %c %{ky}%d.%m.%Y %{kg}Load: %l %{ky}Mail(s): %5` %{kg}Traffic: %4`" sorendition 02 40 # green on black # =============================================================== # Messages # =============================================================== # There are two kinds of messages: "activity" and "bell" # They are also the names of the commands that set the # respective messages. In every message there can be "meta # strings" which are replaced by values. A meta string starts # with a percent sign and is then followed by one # of the following letters: aAcCdDfFhHlmMnstuwWyY # The meta strings usually refer to the current # date and time or to a window title or number. # There are also some specials like embedded branches (with %?), # color codes (with %{xy}) and padding (with %=, %<, %>). # you can find their description in the manual in section # "STRING ESCAPES": # %% percent sign (the escape character itself) # %a either 'am' or 'pm' - according to the current time # %A either 'AM' or 'PM' - according to the current time # %c current time HH:MM in 24h format # %C current time HH:MM in 12h format # %d day number - number of current day # %D Day's name - the weekday name of the current day # %f flags of the window # %F sets %? to true if the window has the focus # %h hardstatus of the window # %H hostname of the system # %l current load of the system # %m month number # %M month name # %n window number # %s seconds # %t window title # %u all other users on this window # %w all window numbers and names. # %-w all window numbers up to the current window # %+w all window numbers after the current window # %W all window numbers and names except the current one # %y last two digits of the year number # %Y full year number # # Older versions of screen used a single '%' character # to display window titles - but since version 3.7 this is # obsoleted by '%n' and it will vanish in future releases. # So please update your screenrc to meet this convention! # # =============================================================== # "~" stands for the "bell" character # # use %n to display the window number and %t for its title: # activity "activity in window #%n title: %t~" # activity "activity in window #%n title: %t~" # activity 'Activity in window %n' # default # activity "%C -> %n%f %t activity!" activity "activity in %n (%t) [%w:%s]" # # pass on the "beep" (CTRL-G) by adding a '~': # bell "%C -> %n%f %t bell!~" bell "bell in %n (%t) [%w:%s]" # pow_detach_msg: Message shown when session # gets power detached. # pow_detach_msg "BYE" pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended." # # vbell_msg: Message shown when the # "virtual bell" rings. vbell_msg " *beep* " # # ============================================================== # BIND bind - defaults # ============================================================== # The "bind" command assign keys to (internal) commands # SCREEN checks all the keys you type; you type the key # which is known as the "command character" then SCREEN # eats this key, too, and checks whether this key is # "bound" to a command. If so then SCREEN will execute it. # # The command "bind" allows you to chose which keys # will be assigned to the commands. # # Some commands are bound to several keys - # usually to both some letter and its corresponding # control key combination, eg the command # "(create) screen" is bound to both 'c' and '^C'. # # The following list shows the default bindings: # # break ^B b # clear C # colon : # copy ^[ [ # detach ^D d # digraph ^V # displays * # dumptermcap . # fit F # flow ^F f # focus ^I # hardcopy h # help ? # history { } # info i # kill K k # lastmsg ^M m # license , # log H # login L # meta x # monitor M # next ^@ ^N sp n # number N # only Q # other ^X # pow_break B # pow_detach D # prev ^H ^P p ^? # quit \ # readbuf < # redisplay ^L l # remove X # removebuf = # reset Z # screen ^C c # select " ' # silence _ # split S # suspend ^Z z # time ^T t # title A # vbell ^G # version v # width W # windows ^W w # wrap ^R r # writebuf > # xoff ^S s # xon ^Q q # ^] paste . # - select - # 0 select 0 # 1 select 1 # 2 select 2 # 3 select 3 # 4 select 4 # 5 select 5 # 6 select 6 # 7 select 7 # 8 select 8 # 9 select 9 # I login on # O login off # ] paste . # # =============================================================== # Key bindings # =============================================================== # Remove some default key bindings by binding # them to "nothing" (empty right-hand-side): # bind . bind ^\ bind \\ bind - command -c select_1n bind -c select_1n 0 select 10 bind -c select_1n 1 select 11 bind -c select_1n 2 select 12 bind -c select_1n 3 select 13 bind -c select_1n 4 select 14 bind -c select_1n 5 select 15 bind -c select_1n 6 select 16 bind -c select_1n 7 select 17 bind -c select_1n 8 select 18 bind -c select_1n 9 select 19 bind -c select_1n - command -c select_2n bind -c select_2n 0 select 20 bind -c select_2n 1 select 21 bind -c select_2n 2 select 22 bind -c select_2n 3 select 23 bind -c select_2n 4 select 24 bind -c select_2n 5 select 25 bind -c select_2n 6 select 26 bind -c select_2n 7 select 27 bind -c select_2n 8 select 28 bind -c select_2n 9 select 29 bind -c select_2n - select - # ============================================================== # BIND and the Services: # ============================================================== # remove some stupid / dangerous key bindings bind k bind ^k bind . bind ^\ bind \\ bind ^h # bind h bind h hardcopy # make them better bind 'K' kill bind 'I' login on bind 'O' login off bind '}' history bindkey -k F2 next # F12 = next bindkey -k F1 prev # F11 = previous # =============================================================== # At the very end... show the current version and say hello :-) # =============================================================== # Briefly show the version number of this starting # screen session - but only for *one* second: msgwait 1 version # change back to showing messages # for duration of two seconds: msgwait 2 # # Welcome the user: echo "welcome BoFH - could you please kill all DAUs?" #blankerprg cmatrix -abfsC green -u 3 #idle 19