Skip to content

Instantly share code, notes, and snippets.

@misscache
Last active August 29, 2015 13:57
Show Gist options
  • Save misscache/9523040 to your computer and use it in GitHub Desktop.
Save misscache/9523040 to your computer and use it in GitHub Desktop.
screen_setup
# Filename: $HOME/.screenrc
# Purpose: Setup file for program "(GNU) screen"
# Latest change: Mon Jan 26 10:51:50 CET 2004
# Author: Michael Prokop / <[email protected]> / www.michael-prokop.at
# ===============================================================
#
# ===============================================================
# SEE ALSO:
# ===============================================================
# SCREEN Pages:
# http://www.guckes.net/screen/
# http://www.michael-prokop.at/screen/ [AT-Mirror]
#
# MailingList:
# http://www.yahoogroups.com/group/gnu-screen/
#
# ===============================================================
# 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! :-)
#
# setenv DISPLAY 'localhost:0.0'
# setenv DISPLAY '127.0.0.1:0.0'
#
# Note: the command "setenv DISPLAY ''"
# defines the variable DISPLAY to have an empty value.
# but of course it would still *exist*.
# and some programs seem to react to the
# DISPLAY variable even if it is empty.
# so to turn off the effect you *must*
# "unset" the variable.
#
# ===============================================================
# ESCAPE - the COMMAND CHARACTER
# ===============================================================
# escape ^aa # default
# escape ^pp # suggested binding for emacs users
#
# ===============================================================
# 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 mutt
# screen -t vim 1 vim
# screen -t google 2 links http://www.google.com
# screen -t slrn 3 slrn
# screen -t www 4 $BROWSER http://www.michael-prokop.at/
#
# ===============================================================
# 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 on
# ===============================================================
# version depending stuff
# ===============================================================
# 030723 screen version >= 4.00.00beta1 supports the following
# commands:
# defnonblock 1
# blankerprg rain -d 100
# idle 120 blanker
# ===============================================================
# 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
# termcapinfo xterm* OL=100
# 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=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
# special xterm hardstatus: use the window title.
# termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;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'
# xterm-52 tweaks:
# - uses background color for delete operations
# termcapinfo xterm* be
# termcap xterm 'AF=\E[3%dm:AB=\E[4%dm'
# terminfo xterm 'AF=\E[3%p1%dm:AB=\E[4%p1%dm'
# Matthias Kopfermann <[email protected]> [020222]
# make the cursor show up in red:
# termcapinfo linux "ve=\E[?25h\E[?17;0;64c" # red
# ===============================================================
# 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%?%{bw}%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}"
# cation always '%{-b}%{= wb}%-Lw%{= wr}%{+b}%n%f %t%{= wb}%{-b}%+Lw %{= wr} %=%c %Y-%m-%d'
caption always "%{+b rk}%H%{gk} |%c %{yk}%d.%m.%Y | %{rw}%n%f %t %{bk} | %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? | %{rk} Load: %l %{wk}"
#
# ===============================
# Hardstatus Line and sorendition
# ===============================
# hardstatus: Always show the window list in the last line:
# hardstatus alwayslastline "%w"
# hardstatus alwayslastline "%H %w"
#
# use 'L' between '%' and 'w' to show the flags, too1
# hardstatus alwayslastline "%H %Lw"
#
# example by Adam Spiers <[email protected]> :
# *without* colors:
# hardstatus alwayslastline "%?%-Lw%?%n*%f %t%?(%u)%?%?%+Lw%?"
# *with* colors:
# hardstatus alwayslastline "%?%{yk}%-Lw%?%{wb}%n*%f %t%?(%u)%?%?%{yk}%+Lw%?"
#
# This will show the current time and today's date in YYmmdd, too:
# hardstatus alwayslastline " %c | %Y%m%d | %w"
#
# This will show today's date in mmdd and the current time, too:
# hardstatus alwayslastline " %m%d %c | %w"
#
# combining all of these gives:
# hardstatus alwayslastline "%{rw}%H%{wk}|%c|%M%d|%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?"
#
# this uses a black background foreverything execpt for
# the current window which is show on a white background.
# hostname in red, clock in green, date in yellow:
# hardstatus alwayslastline "%{rk}%H %{gk}%c %{yk}%M%d %{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?"
#
# no "host:", "date:", or "time:" here.
# instead, the info gets placed at 16%, 50%, and 80% so that it is
# placed soemwhat in the middle of each of the three panels.
# hardstatus alwayslastline "%{RY}%16=%H %33=%{YR}%50=%M%d %66=%{Gb}%80=%c%="
#
# hardstatus alwayslastline "%{rk}%H %{gk}%c %{yk}%M%d %{wr} Load: %l %{wb} %w %{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?"
# hardstatus alwayslastline " [ %H ] %{wb} %c:%s | %d.%m.%Y %{wr} Load: %l %{wb} %w "
# hardstatus alwayslastline " %H %{wb} %c:%s | %d.%m.%Y %{wr} Load: %l %{wk} %w "
# hardstatus alwayslastline "%{rk}%H%{gk} | %c %{yk}%d.%m.%Y | %{rk} Load: %l %{wk} | %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?"
# hardstatus alwayslastline "%{rk}host: %H %33=%{yk}date: %M%d %66=%{gk}time: %c:%s%="
# hardstatus alwayslastline "%{rk}host: %H %33=%{yk}date: %M%d %66=%{gk}time: %c%="
#
# 030331 backtick is a new command in screen version >=3.9.15
#
# 030330 use the hardstatus line to show the:
# * latest news of the IT ticker at heise.de [german!]:
# backtick 1 1200 1200 heise
# * ipaddr of eth0
# backtick 2 1200 1200 ipadr
# * external ipaddr of vpn-client
# backtick 3 1200 1200 ipadr_vpn
# hardstatus alwayslastline "%{bw}%1`%= "
# hardstatus alwayslastline "%{bw}%1`%= %{+b ky}| %c:%s |%{+b rw} ip: %2` | vpn: %3`"
# | | |
# heise (script in ~/bin/) | ipadr_vpn (script in ~/bin/)
# |
# ipadr (script in ~/bin/)
#
# 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 02 34 # 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
#
# 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 . dumptermcap # default
bind .
# bind ^\ quit # default
bind ^\
# bind \\ quit # default
bind \\
# 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
#
# 040126 To be able to select windows with n > 9 ->
# press "C-a - #" instead of just "C-a #"
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 -
#
# ==============================================================
# KEY BINDING FAQ:
# ==============================================================
# FAQ: So many keys are bound to some command already -
# which keys are unbound yet? Which are free for binding?
# A: SCREEN does not have a command to show you
# a table of currently unbound keys - sorry!
# You simply have to read this setup file. ;-)
#
# Summary: Here is a table of the keys
# which are not bound by default:
# unbound: -B--E-G--J-L---P-R-TUV--Y-
# bound: A-CD-F-HI-K-MNO-Q-S---WX-Z
#
# I suggest that you do not change the bindings for
# 'H' ("log") and 'M' ("monitor") as they are *really*
# useful and you might want to use them a lot;
# in this case it is recommended to use
# the defaults to avoid confusion.
# personally, I use 'A' ("title") quite often, too.
#
# If you are using "split windows"
# then you will also use the command
# associated with the keys FQSX a lot, too -
# so do not change their bindings, either!
#
# Anyway, I have bound the unbound uppercase letters
# to start programs in windows directly, ie without
# starting a new window with a shell within first.
# This simply saves shells and thus saves RAM -
# and also avoids that the title of windows is
# the name of your shell. Also, you need not "exit"
# from a shell when you are done with some program.
# And when using "zombie mode" then the window will stay
# and you can resurrect them with the CTRL-SPACE command.
# cool! :-)
#
# enable "zombie mode":
# zombie z
# here the parameter 'z' defines the key
# which makes a zombie window go away.
#
# ==============================================================
# 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
# I am using the uppercase letters to start programs/services:
#
# the idea:
# bind <key> <command>
# this binds the key to start a windows with <command> inside.
#
# the command "screen" starts a "window" -
# and the default key is 'c' for "create".
# (i know - this *is* confusing at first.)
# with 'screen -t title" you can set a titlestring.
# the number following is the window number to be used.
# if the window number is already taken then
# the least highest available number is used.
#
#
# bind A title # default!
#
# BUUG - Berlin Unix User Group - read some news about Unix
# bind B # unbound by default
# bind B screen -t 'buug' 4 links www.buug.de
#
# CHEM - LinuxTag event in Chemnitz -- 2002-03-09 + 2002-03-10
# bind C screen -t 'CHEM' 9 links www.tu-chemnitz.de/linux/tag/
# bind C screen -t 'CIT' 9 links http://www.math.fu-berlin.de/~guckes/cit/
# bind C screen -t 'CIT' 9 links http://www.computerinfotag.de
# NOTE: This overrides the default binding for the "clear" command.
#
# DICT - Dictionary English<->German
# bind D pow_detach !
# bind D screen -t 'DICT' 4 links dict.tu-chemnitz.de
# Note: this overrides the default binding for the
# command "pow_detach". I hardly ever use that one.
#
# MUTT - Email User Agent
# bind E # unbound by default
bind M screen -t 'mail' 4 $HOME/bin/mutt_umlaute
# see also: http://www.math.fu-berlin.de/~guckes/mutt/
#
# FTP - File Transfer "Program"
# bind F fit # default!
# bind F screen -t 'ftp' 9 ncftp
# see also: http://www.math.fu-berlin.de/~guckes/ncftp/
#
# GOOGLE - Web Search Engine
# bind G # unbound by default
# notice: elinks is a better version of links -> get it @ http://elinks.or.cz/
bind G screen -t 'google' $BROWSER www.google.com
#
# HEISE - IT NewsTicker
# bind H log # default!
bind H screen -t HeiseTicker $BROWSER www.heise.de/newsticker/pda/data/paket4.html
# bind A screen -t 'abook' abook
# bind C screen -t 'cicq' centericq
# bind E screen -t 'bitchx' bitchx mikap irc.openprojects.net
bind E screen -t 'bitchx' bitchx mikap irc.debian.org
bind L screen -t 'browser' $BROWSER
# bind M screen -t 'mutt' mutt
# bind N screen -t 'ncftp' ncftp
#
# Search in TU-Graz-Newsarchiv
# bind T screen -t newsarchiv-suche $BROWSER http://newsarchiv.tugraz.at/search/
#
# 030407 showman -> echo -n "What manpage?"; read X; man $X; screen -X eval 'focus bottom' remove
# bindkey "^B" eval split "focus bottom" "screen $HOME/bin/showman"
#
# 030507 call "date" and write it to buffer so you are
# able to insert it via screen->paste [bind paste to "<ctrl>+<a> <P>"!]
#
# $ cat $HOME/bin/showdate
# date +%Y%m%d_%Hh%Mm%Ss > $HOME/.date; cat $HOME/.date | tr -d '\n' > .date; screen -X bufferfile $HOME/.date; screen -X readbuf
# $
#
# and now we bind it :)
#
# bindkey "^F" eval "screen $HOME/bin/showdate"
#
# NOTE: This overrides the default binding of the "hardcopy" command!
#
# IRC - International Relay Chat
# bind I screen -t 'irc' 5 irc
# bind I screen -t 'icq' 9 micq
# see also: http://www.math.fu-berlin.de/~guckes/irc/
#
# Feb 2002: Use it to search the Internet Movie DataBase (IMDB):
# bind I screen -t 'IMDB' 9 links http://www.imdb.com/
# bind I screen -t 'IMDB' 9 links http://us.imdb.com/search/
# see also: http://www.math.fu-berlin.de/~guckes/berlinale/
#
# bind J # unbound by default
#
# LYNX - web browser
# bind L # unbound by default
# bind L screen -t 'lynx' 4 lynx http://www.math.fu-berlin.de/~guckes/
# see also: http://www.math.fu-berlin.de/~guckes/lynx/
# see also: http://www.math.fu-berlin.de/~guckes/links/
#
# bind M monitor # default!
#
# NN - newsreader
# bind N screen -t 'nn' 3 nn
# see also: http://www.math.fu-berlin.de/~guckes/nn/
# Get some news about the weather (LOWG = Graz/Austria; LOWK = Klagenfurt/Austria)
bind N screen -t 'weather' $BROWSER http://weatherpixie.com/index.php?place=LOWG
# bind N screen -t 'weather' $BROWSER http://weatherpixie.com/index.php?place=LOWK
#
# Paste - use 'P' instead of ']':
# bind P # unbound by default
bind P paste .
# 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 [.]
# The character ']' is hard to type on german keyboards,
# as it requires the use of a yet another meta character "AltGR".
# I prefer to use 'P' for "paste" because it is a letter
# which is available at the same position both with the
# US keyboards and keyboards with "Kraut layout" -
# which I call" Krautboards", by the way. ;-)
# bind ] paste . # default!
#
# bind R # unbound by default
#
# centericq - icq for terminal
bind C screen -t 'icq' 3 centericq
#
# SLRN - newsreader
# bind J screen -t 'slrn' 3 zsh -c bin/start_slrn_be.sh
bind T screen -t 'slrn-tu' 2 zsh -c ~/bin/start_slrn_tu.sh
bind L screen -t 'slrn-be' 1 zsh -c ~/bin/start_slrn_be.sh
# see also: http://www.slrn.org http://slrn.sourceforge.net
# and http://www.math.fu-berlin.de/~guckes/slrn/
#
# bind T # unbound by default
# bind T screen -t TRASH ssh trash.net
#
# bind U # unbound by default
# bind U screen
#
# VIM - editor
# bind V # unbound by default
# bind V screen -t 'vim' 5 vim
# Editing comes with email quite naturally -
# so I have reserved window #1 for this.
# http://www.math.fu-berlin.de/~guckes/vim/
# http://www.vim.org/ (which is just a mirror)
#
# X - a fast way to lock the current screen.
bind X lockscreen
#
# bind Y exec !!! echo -n http://www.math.fu-berlin.de/~guckes/
# bind Y stuff http://www.math.fu-berlin.de/~guckes/
bind Y stuff http://www.michael-prokop.at/
# This pastes the address of my homepage to the process
# in the current window. very nice - saves some typing.
# and you don't have to have the functionality of
# "abbreviating" in the processes themselves. :-)
#
# FUNCTION KEYS 11 12
bindkey -k -m F1 eval 'stuff "Y"' colon 'stuff "paste .^M"' #COPY AND PASTE LINE WITH F1
bindkey -k -m F2 eval 'stuff "W"' colon 'stuff "paste .^M"' #COPY AND PASTE WORD WITH F2
#END KEY
bindkey -k -m kH eval 'stuff "Y"' 'stuff " "' colon 'stuff "paste .^M^M"' # paste the line with END
bindkey -m "^[O2F" eval 'stuff "W"' 'stuff " "' colon 'stuff "paste .^M^M"' # paste a word with SHIFT-END in COPY mode
# 030511 Some usefull abbreviations
bindkey -t ROFL stuff *ROFL*
bindkey -t °web stuff "www.michael-prokop.at"
# 030511 Workaround for stupid machines without xmodmap ;-)
bindkey -t °a stuff "ä"
bindkey -t °A stuff "Ä"
bindkey -t °o stuff "ö"
bindkey -t °O stuff "Ö"
bindkey -t °u stuff "ü"
bindkey -t °U stuff "Ü"
bindkey -t °s stuff "ß"
#
# ===============================================================
# BIND Examples:
# ===============================================================
# You can also paste the values of
# SCREEN's environment variables:
# bind E stuff $EMAIL
# bind U stuff $URL
# bind I stuff $ICQ
#
# ===============================================================
# BINDKEY:
# ===============================================================
# [TODO briefly explain the difference between BIND and BINDKEY]
#
# use the PgUp and PgDn keys to enter copy mode
# and page through the window backlog:
# bindkey -k kP copy
#
# Use the function keys F7 and F8
# to cycle backwards/forwards in
# the list of existing windows:
# bindkey -k k7 prev
# bindkey -k k8 next
#
# make the "kb" send a backspace (CTRL-H:)
# bindkey -d kb stuff ^H
# WARNING: this does not work as advertised.
# it eats the "kb" when typing "dankbar" for example. :-(
#
# 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 BoFH - could you please kill all DAUs?"
#
# Tell Vim to use a "tabstop" of '8',
# ie expands TABs to the next column
# whose number is a multiple of eight.
# EOF vim: ts=8 et nowrap

#Enhance my screen

.screenrc

# Here comes the pain...
 caption always "%{=b dw}:%{-b dw}:%{=b dk}[ %{-b dw}%{-b dg}$USER%{-b dw}@%{-b dg}%H %{=b dk}] [ %= %?%{-b dg}%-Lw%?%{+b dk}(%{+b dw}%n:%t%{+b dk})%?(%u)%?%{-b dw}%?%{-b dg}%+Lw%? %{=b dk}]%{-b dw}:%{+b dw}:"

 backtick 2 5 5 $HOME/scripts/meminfo
 hardstatus alwayslastline "%{+b dw}:%{-b dw}:%{+b dk}[%{-b dg} %0C:%s%a %{=b dk}]-[   %{-b dw}Load%{+b dk}:%{-b dg}%l %{+b dk}] [%{-b dg}%2`%{+b dk}] %=[ %{-b dg}%1`%{=b dk} ]%{-b dw}:%{+b dw}:%<"

 sorendition "-b dw"

$HOME/scripts/meminfo

#!/bin/sh
RAM=`cat /proc/meminfo | grep "MemFree" | awk -F" " '{print $2}'`
SWAP=`cat /proc/meminfo | grep "SwapFree" | awk -F" " '{print $2}'`
echo -n "${RAM}kb/ram ${SWAP}kb/swap"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment