160 lines
5.5 KiB
Plaintext
160 lines
5.5 KiB
Plaintext
|
|
# Add stuff to xterm (and cousins) title bars. This is a moderate abuse of the
|
|||
|
|
# hardstatus feature--it just puts the hardstatus stuff into an xterm title
|
|||
|
|
# bar.
|
|||
|
|
termcapinfo xterm*|Eterm|mlterm 'hs:ts=\E]0;:fs=\007:ds=\E]0;screen\007'
|
|||
|
|
defhstatus "screen (t) | $USER@H"
|
|||
|
|
hardstatus off
|
|||
|
|
|
|||
|
|
# 256 color xterm
|
|||
|
|
attrcolor b ".I"
|
|||
|
|
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
|
|||
|
|
#defbce "on"
|
|||
|
|
|
|||
|
|
# Give me some info at the bottom of the screen. Since hardstatus is in use by
|
|||
|
|
# the above xterm title hack, the only source of information left is the
|
|||
|
|
# caption that normally only gets displayed if you have split windows.
|
|||
|
|
# e.g.:
|
|||
|
|
# 11:50|Mon|Jan 06|aragorn f 3$ mutt 4$ centericq 5$* less 6-&!$ man 7$ xe
|
|||
|
|
# (Current window is in reverse bold.)
|
|||
|
|
# See bottom of file for more complete description.
|
|||
|
|
caption always "%?%F%{-b bc}%:%{-b bb}%?%H|%?%F%{+u wb}%? %L=%-w%45>%{+b ym}%n*%t%{-}%+w%-0<"
|
|||
|
|
|
|||
|
|
# Make screen messages stand out a little more - black on bright green.
|
|||
|
|
sorendition "+b kG"
|
|||
|
|
|
|||
|
|
# Variants on Sven's custom messages.
|
|||
|
|
activity "%c activity -> %n%f %t"
|
|||
|
|
bell "%c bell -> %n%f %t^G"
|
|||
|
|
vbell_msg " *beep* "
|
|||
|
|
|
|||
|
|
# I know about screen. I don't need to see it every time I start the program.
|
|||
|
|
# (Which is, admittedly, rarely.)
|
|||
|
|
startup_message off
|
|||
|
|
# Log new screen windows in utmp.
|
|||
|
|
deflogin on
|
|||
|
|
# Never, ever turn this off.
|
|||
|
|
autodetach on
|
|||
|
|
# I like to hear the beep.
|
|||
|
|
vbell off
|
|||
|
|
# And show the command for the windows when they're resurrected.
|
|||
|
|
verbose on
|
|||
|
|
# I like a large scrollback
|
|||
|
|
defscrollback 10000
|
|||
|
|
# Run everything in UTF-8.
|
|||
|
|
defutf8 on
|
|||
|
|
# If a window goes unresponsive, don't block the whole session waiting for it.
|
|||
|
|
defnonblock on
|
|||
|
|
|
|||
|
|
# Use the function keys to switch among windows.
|
|||
|
|
bindkey -k k1 select 1
|
|||
|
|
bindkey -k k2 select 2
|
|||
|
|
bindkey -k k3 select 3
|
|||
|
|
bindkey -k k4 select 4
|
|||
|
|
bindkey -k k5 select 5
|
|||
|
|
bindkey -k k6 select 6
|
|||
|
|
bindkey -k k7 select 7
|
|||
|
|
bindkey -k k8 select 8
|
|||
|
|
bindkey -k k9 select 9
|
|||
|
|
bindkey -k k; select 10
|
|||
|
|
bindkey -k F1 select 11
|
|||
|
|
bindkey -k F2 select 12
|
|||
|
|
# windows 13-24 are Shift-Fn. May not work in all terminals.
|
|||
|
|
bindkey -k F3 select 13
|
|||
|
|
bindkey -k F4 select 14
|
|||
|
|
bindkey -k F5 select 15
|
|||
|
|
bindkey -k F6 select 16
|
|||
|
|
bindkey -k F7 select 17
|
|||
|
|
bindkey -k F8 select 18
|
|||
|
|
bindkey -k F9 select 19
|
|||
|
|
bindkey -k FA select 20
|
|||
|
|
# screen only seems to understand up to FA.
|
|||
|
|
#bindkey -k FB select 21
|
|||
|
|
#bindkey -k FC select 22
|
|||
|
|
#bindkey -k FD select 23
|
|||
|
|
#bindkey -k FE select 24
|
|||
|
|
|
|||
|
|
# select works on window names, too. This gives me the first window with a
|
|||
|
|
# free shell.
|
|||
|
|
bind s select zsh
|
|||
|
|
|
|||
|
|
# 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;3~" eval "copy" "stuff ^u"
|
|||
|
|
bindkey -m "^[[5;3~" stuff ^b
|
|||
|
|
bindkey -m "^[[6;3~" stuff ^f
|
|||
|
|
|
|||
|
|
# Window numbering starts at 1, not 0.
|
|||
|
|
bind c screen 1
|
|||
|
|
bind C screen 1
|
|||
|
|
bind 0 select 10
|
|||
|
|
|
|||
|
|
# Login toggle is too close to screen redraw. How about explicitly setting
|
|||
|
|
# login state, anyway?
|
|||
|
|
bind 'L'
|
|||
|
|
bind 'i' login on
|
|||
|
|
bind 'o' login off
|
|||
|
|
|
|||
|
|
|
|||
|
|
altscreen on
|
|||
|
|
|
|||
|
|
# It's sometimes useful to have a quote key.
|
|||
|
|
bind ^Q mapdefault
|
|||
|
|
bind q mapdefault
|
|||
|
|
|
|||
|
|
# And since that leaxes xon unbound, let's remove xoff, too.
|
|||
|
|
bind ^S
|
|||
|
|
|
|||
|
|
# Using tab to move around regions gets annoying. These help.
|
|||
|
|
bind ^j focus down
|
|||
|
|
bind ^k focus up
|
|||
|
|
bind ^t focus top
|
|||
|
|
bind ^b focus bottom
|
|||
|
|
|
|||
|
|
# This lets me use specific commands from screen escape sequences.
|
|||
|
|
multiuser on
|
|||
|
|
aclchg :window: +x select
|
|||
|
|
|
|||
|
|
|
|||
|
|
# caption description:
|
|||
|
|
# caption always "%?%F%{-b bc}%:%{-b bb}%?%C|%D|%M %d|%H%?%F%{+u wb}%? %L=%-Lw%45>%{+b by}%n%f* %t%{-}%+Lw%-0<"
|
|||
|
|
#
|
|||
|
|
# Anything I don't describe is treated literally.
|
|||
|
|
#
|
|||
|
|
# %? - Start of a conditional statement.
|
|||
|
|
# %F - Use this part of the statement if the window has focus (i.e. it
|
|||
|
|
# is the only window or the currently active one).
|
|||
|
|
# %{-b bc} - Turn off bold, blue foreground, cyan background.
|
|||
|
|
# %: - else
|
|||
|
|
# %{-b bb} - Turn off bold, blue foreground, blue background (this obscures
|
|||
|
|
# the text on non-focused windows and just gives a blue line).
|
|||
|
|
# %? - End conditional statement.
|
|||
|
|
# %C - time (hh:mm, leading space) in 12 hour format
|
|||
|
|
# %D - Three-letter day-of-week appreviation
|
|||
|
|
# %M - Three-letter month appreviation
|
|||
|
|
# %d - Day of the month
|
|||
|
|
# %H - hostname
|
|||
|
|
# %? - Start of conditional statement.
|
|||
|
|
# %F - Use this part of the statement if the window has focus.
|
|||
|
|
# %{+u wb} - underlined, white foreground, blue background
|
|||
|
|
# %? - End conditional (if not focused, text remaind blue on blue).
|
|||
|
|
# %L= - truncation/padding point. With the 'L' qualifier, basically
|
|||
|
|
# just acts as a reference point. Further truncation/padding is
|
|||
|
|
# done relative to here, not the beginning of the string
|
|||
|
|
# %-Lw - window list up to but not including the current window (-),
|
|||
|
|
# show window flags (L)
|
|||
|
|
# %45> - truncation/padding marker; place this point about 45% of the
|
|||
|
|
# way into the display area (45)
|
|||
|
|
# %{+b by} - add bold (still underlined from before), blue foreground,
|
|||
|
|
# yellow background
|
|||
|
|
# %n - number of the current window
|
|||
|
|
# %f - flags for current window
|
|||
|
|
# %t - title of current window
|
|||
|
|
# %{-} - undo last color change (so now we're back to underlined white
|
|||
|
|
# on blue) (technically, this is a pop; a second invocation
|
|||
|
|
# would drop things back to unadorned blue on cyan)
|
|||
|
|
# %+Lw - window list from the next window on (-), show window flags (L)
|
|||
|
|
# %-0< - truncation/padding point. Place this point zero spaces (0)
|
|||
|
|
# from the right margin (-).
|
|||
|
|
|
|||
|
|
screen 1
|