# =============================================================== # Screen config file by Andreas Schneider # # written by Sven Guckes and # Andreas Schneider # # Last Change: 2008-02-23 22:29:55 # # Get the latest version from: # http://www.cynapses.org/tmp/setup/ # # =============================================================== # ENVIRONMENT # =============================================================== # The DISPLAY variable tells programs which display to use. # This mainly affects programs running on the X server. # However, when I use screen then I am usually using a terminal - # and programs do not need to contact the X server. # This results in programs waiting for some timeout when # they start up - and this just keeps getting in my way. # I therefore unset the DISPLAY variable with this command: ## unsetenv DISPLAY # Text Tools rule! :-) # # =============================================================== # ESCAPE - the COMMAND CHARACTER # =============================================================== # escape ^aa # default # escape ^pp # suggested binding for emacs users # # FAQ: Did you happen to forget the escape character # for *the* current session? # A: You can reset the escape character from the shell # by giving the current session the following command: # screen -X escape ^Aa # # i suggest you prepare your shell with the following aliases: # alias Ea='screen -X escape a' # alias Eo='screen -X escape o' # alias Ep='screen -X escape p' # alias Ex='screen -X escape x' # # =============================================================== # STARTUP of programs in an extra window: # =============================================================== # Uncomment one/some following lines to automatically let # SCREEN start some programs in the given window numbers: # screen -t MAIL 0 muttng # screen -t EDIT 1 vim # screen -t GOOGLE 2 links http://www.google.com # screen -t NEWS 3 slrn # screen -t WWW 4 links http://www.guckes.net/ # # =============================================================== # VARIABLES - Boolean values (on/off) # =============================================================== nethack on # default: off autodetach on # default: on crlf off # default: off deflogin off # default: on # defsilence off # default: off hardcopy_append on # default: off # nethack on # default: off startup_message off # default: on vbell off # default: ??? altscreen on # default: off defbce off # default: off defnonblock on # default: off # # =============================================================== # TERMCAP and TERMINFO # =============================================================== # # What TERM do you run? term "screen-256color" # # 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' termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007' # # =============================================================== # 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 ~/.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 -$SHELL # # most users will probably use the "bash" as the default shell: # shell /bin/bash # shell /bin/zsh # shell /bin/ksh # shell /bin/tcsh # for an overview to shells see http://georg.f-451.net/shells/ # # =============================================================== # 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], # eg "%{ambf}" where # a=attribute, m=modifier, and # b=background, f=foreground. # 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 # # # =========================================== # CAPTION - shows a "caption" for the window. # =========================================== # # a "caption" is another line which can show information - # in addition to the hardstatus line. # # caption always "%{WB}%?%-Lw%?%{kw}%n*%f %t%?(%u)%?%{WB}%?%+Lw%?%{Wb}" caption always "%{WB}%?%-Lw%?%{kw}%n*%f %t%?(%u)%?%{WB}%?%+Lw%?%{Wb} %= %{= RY} %H %{BW} %l %{bW} %c %M %d" # color--------color================color++++++++color # # =============================== # Hardstatus Line and sorendition # =============================== # # current HARDSTATUS [2005-04-12] # patterns: host, load, time, date. # the "%=" at the end extends the current color unto the end of the line. # hardstatus alwayslastline "%{= RY}%H %{BW} %l %{bW} %c %M %d%= www.cynapses.org" # # # ===================================================== # note: the use of ANSI color sequences is deprecated. # please upgrade to (at least) screen 3.9.13 # so you can make use of the color letters/names! # # "sorendition": set the colors for # the "messages" and "text marking" # (ie text you mark in copy mode): # # sorendition 10 99 # default! # sorendition 02 40 # green on black sorendition wb # yellow on blue # sorendition rw # red on white # sorendition kG # black on bold green # ===================================================== # # # ============================ # Password # ============================ # # # password SZnBqiqMtfa6k # WARNING!! Do NOT remove the comment # if you don't know what this does! # read on: # this commands sets the *internal* # password for the screen session. # if this is set then a "lock" command will # only let you in to the session after you # enter the user's account password and then # also the internal password for that session. # so this gives additional safety. # but if you forget the internal password # then you can also forget about the session - ok?! # # =============================================================== # 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 # # activity 'Activity in window %n' # default # # 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 "%C -> %n%f %t activity!" # # pass on the "beep" (CTRL-G) by adding a '~': bell "%C -> %n%f %t bell!~" # # pow_detach_msg: Message shown when session # gets power detached. pow_detach_msg "BYE" # # 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 # bind f screen -t FETCH fetchmail -a # 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 . # # the following table shows the default listing:ta cal # # # lowercase letters: # abcdefghijklmnopqrstuvwxyz # -bcd-f-hi-klmn-pqrst-vwx-z -> bcdfhiklmnpqrstvwxz # # capital letters: # ABCDEFGHIJKLMNOPQRSTUVWXYZ # ABCD-F-H--KLMN--Q-S---WX-Z -> ABCDFHKLMNQSWXZ # # control + letters: # ABCDEFGHIJKLMNOPQRSTUVWXYZ # -BCD-FGHI--LMN-PQRST-VWX-Z[?@ -> BCDFGHILMNPQRSTVWXZ[?@ # # other keys: # "'*,.:<=>?[\_{} # =============================================================== # Key bindings # =============================================================== # Remove some default key bindings by binding # them to "nothing" (empty right-hand-side): # # bind . dumptermcap # default bind . # bind ^\ quit # default bind ^\ # bind \\ quit # default bind \\ # bind h hardcopy # default # bind h # bind ^h ??? # default # bind ^h # bind } history # default # bind } # # And here are the default bind commands if you need them: # # bind A title # bind C clear # bind D pow_detach # bind F fit # bind H log # bind I login on # bind K kill # bind L login # bind M monitor # bind N number # bind O login off # bind Q only # bind S split # bind W width # bind X remove # bind Z reset # # ============================================================== # BIND and the Services: # ============================================================== # I am using the uppercase letters to start programs/services: # # the idea: # bind # this binds the key to start a windows with inside. # # bind B # unbound by default bind B screen -t bashfaq 4 links http://wooledge.org/mywiki/BashFaq # # DICT - Dictionary English<->German bind D screen -t dict 4 links dict.tu-chemnitz.de # # MUTT - Email User Agent # bind E # unbound by default bind E screen -t mail 0 muttng # # GOOGLE - Web Search Engine # bind G # unbound by default bind G screen -t google 0 links http://www.google.com/ # # HEISE - IT NewsTicker # bind H log # default! bind H screen -t heise 0 links http://www.heise.de/newsticker/ # bind M screen -t milliways 0 ssh milliways.cynapses.org # # Paste - use 'P' instead of ']': # bind P # unbound by default bind P paste . # # bind R # unbound by default bind R screen -t root 0 su - # bind R screen -t root 0 sudo su - # # bind V # unbound by default bind V screen -t vim 1 vim -X # bind Y stuff http://www.cynapses.org/ # # =============================================================== # BINDKEY: # =============================================================== # # Make shift-PgUp and shift-PgDn work like they do in xterm. # (Note that this requires xterm to be configured to pass those # keys through, and not try to act on them itself.) bindkey "^[[5;2~" eval "copy" "stuff ^u" bindkey -m "^[[5;2~" stuff ^u bindkey -m "^[[6;2~" stuff ^d # # NumPad keybindings: # ^[Oo / resize = # ^[Oj * resize max # ^[Om - resize -2 # ^[Ok + resize +2 # ^[OM Enter # # ================================ # 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 to screen :-)" # # vim modeline: # Tell Vim to automatically set some options # when you load this file into a buffer. # et = expandtab: expand tabs to spaces # ts=8 = tasbstop=8: use a "tabstop" of '8' # nowrap : do not wrap lines which are longer # than the line length on the terminal. # vim: set ts=8 et nowrap: THPXRF EOF