Skip to content

Instantly share code, notes, and snippets.

@darkporpoise
Last active March 8, 2020 18:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darkporpoise/e10b3f7e875e02835827a9d306f2c631 to your computer and use it in GitHub Desktop.
Save darkporpoise/e10b3f7e875e02835827a9d306f2c631 to your computer and use it in GitHub Desktop.
My .screenrc
# don't display the copyright page
startup_message off
# Change scrollback to 10000 lines
defscrollback 10000
# Turn the even more annoying whole-screen-flash-on-tab-complete "feature"
vbell off
escape ^\\\ # Bind "Ctrl+\" as escape key. User "Ctrl+\" then "\" to send "Ctrl+\" to terminal
autodetach on # Autodetach session on hangup instead of terminating screen completely
bindkey -k F1 prev # Bind F11 and F12 (NOT F1 and F2) to previous and next screen window
bindkey -k F2 next
bindkey -k k1 screen # Bind F1 to new screen window
#bindkey -k k7 focus down # bind F7 to change focus
bindkey -k k2 title # Bind F2 to rename screen window
bindkey -k k3 number -1
bindkey -k k4 number +1
#bindkey -k k4 kill # bind F4 to kill current screen window.
bindkey -k k9 detach # bind F9 to detach screen session from this terminal
bindkey -k k; windowlist # bind F9 to detach screen session from this terminal
term screen-256color
terminfo rxvt-unicode 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
caption always "%{= Wk}%-w%{= Bw}%n %t%{-}%+w %-="
# Remove some default bindings:
bind k
bind ^k
bind .
bind ^\
bind \\
screen -t main 0
#split -v
#focus down
#screen -t misc 2
#select misc
#split
#focus down
#screen -t bottom 3
#select bottom
#focus down
#select main
altscreen on
#layout save main
#REFERENCE
# don't use the hardstatus line for system messages, use reverse video instead
# (we'll be using it for the list of tab windows - see hardstatus alwayslastline
# below)
# hardstatus off
# use the caption line for the computer name, load, hstatus (as set by zsh), & time
# the caption line gets repeated for each window being displayed (using :split),
# so we'll use color cues to differentiate the caption of the current, active
# window, and the others.
# always - display the caption continuously. Since
# hardstatus is 'alwayslastline', it will be on the
# next to last line.
# "%?%F" - if (leading '%?') this region has focus ('%F')
# (e.g. it's the only region being displayed, or,
# if in split-screen mode, it's the currently active
# region)
# "%{= Kk}" - set the colorscheme to blac[k] on grey (bright blac[K]),
# with no other effects (standout, underline, etc.)
# "%:" - otherwise ('%:' between a pair of '%?'s)
# "%{=u kR}" - set the colorscheme to [R]ed on blac[k], and
# underline it, but no other effects (bold, standout, etc.)
# "%?" - end if (trailing '%?')
# " %h " - print two spaces, tthne the [h]ardstatus of the
# current tab window (as set by zsh - see zshrc) and
# then another space.
# "%-024=" - either pad (with spaces) or truncate the previous
# text so that the rest of the caption string starts
# 24 characters ('024') from the right ('-') edge of
# the caption line.
# NOTE: omitting the '0' before the '24' would pad
# or truncate the text so it would be 24% from the
# right.
# "%{+b} - add ('+') [b]old to the current text effects, but
# don't change the current colors.
# " %C:%s%a %D %d %M %Y" - print the [C]urrent time, a colon, the [s]econds,
# whether it's [a]m or pm, the [D]ay name, the [d]ay
# of the month, the [M]onth, and the [Y]ear.
# (this takes up 24 characters, so the previous
# pad/truncate command makes sure the clock doesn't
# get pushed off of the caption line)
# "%{= dd}" - revert to the [d]efault background and [d]efault
# foreground colors, respectively, with no ('= ')
# other effects.
# other things that might be useful later are
# " %H" - print a space, then the [H]ostname.
# "(%{.K}%l%{-}):" - print a '(', then change the text color to grey
# (aka bright blac[K]), and print the current system
# [l]oad. Then revert to the previous colorscheme
# ('%{-}') and print a close ')' and a colon.
# NOTE: the load is only updated when some other
# portion of the caption string needs to be changed
# (like the seconds in the clock, or if there were a
# backtick command)
# "%0`" - put the output of a backtick command in the line
# "%-024<" - don't pad, just truncate if the string is past 24
# characters from the right edge
# "%-=" - pad (with spaces) the previous text text so that
# the rest of the caption string is justified
# against the right edge of the screen.
# NOTE: doesn't appear to truncate previous text.
# caption always "%?%F%{= Kk}%:%{=u kR}%? %h %-024=%{+b} %C%a %D %d %M %Y%{= db}"
# use the hardstatus line for the window list
# alwayslastline - always display the hardstatus as the last line of the
# terminal
# "%{= kR} %-Lw" - change to a blac[k] background with bright [R]ed text,
# and print all the tab [w]indow numbers and titles in
# the [L]ong format (ie with flags) upto ('-') the
# current tab window
# "%{=b Kk} %n%f %t " - change to grey (bright blac[K]) background with
# [b]old blac[k] text, with no other effects, and print
# the [n]umber of the current tab window, any [f]lags it
# might have, and the [t]itle of the current tab window
# (as set by zsh - see zshrc).
# NOTE: the color match with the caption line makes it
# appear as if a 'tab' is dropping down from the caption
# line, highlighting the number & title of the current
# tab window. Nifty, ain't it)
# "%{-}%+Lw " - revert to the previous color scheme (red on black)
# and print all the tab [w]indow numbers and titles in
# the [L]ong format (ie with flags) after ('+') the
# current tab window.
# "%=%{= dd}" - pad all the way to the right (since there is no text
# that follows this) and revert to the [d]efault
# background and [d]efault foreground colors, with no
# ('= ') other effects.
# hardstatus alwayslastline "%{= kR} %-Lw%{=b Kk} %n%f %t %{-}%+Lw %=%{= dd}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment