]> ruderich.org/simon Gitweb - config/dotfiles.git/blob - screenrc.in
e495774ec453ab094c5808549283dfea14270c46
[config/dotfiles.git] / screenrc.in
1 # Screen configuration file.
2 #
3 # Features which are only available in (very) recent screen releases or in
4 # current Git are marked with "(GIT)" so they can be removed by the setup
5 # script on machines with older versions.
6 #
7 # (BATTERY) is only used on laptops, (ROOT) only if running as root.
8
9 # Copyright (C) 2011-2012  Simon Ruderich
10 #
11 # This file is free software: you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License as published by
13 # the Free Software Foundation, either version 3 of the License, or
14 # (at your option) any later version.
15 #
16 # This file is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 # GNU General Public License for more details.
20 #
21 # You should have received a copy of the GNU General Public License
22 # along with this file.  If not, see <http://www.gnu.org/licenses/>.
23
24
25 # Automatically lock the screen after 10 minutes of inactivity if running as
26 # root.
27 idle 600 lockscreen # (ROOT)
28
29 # Don't display startup message.
30 startup_message off
31
32 # Use visual bell instead of audible bell.
33 vbell on
34
35 # Increase the scrollback buffer.
36 defscrollback 10000
37
38 # Ignore case when searching.
39 ignorecase on
40
41 # I prefer zsh as my shell.
42 shell zsh
43
44
45 # TERMINAL
46
47 # Enable 256 color mode.
48 term screen-256color
49 # Allow bold colors in XTerm (not necessary for Rxvt), not sure why this is
50 # necessary. Otherwise normal and bold colors are switched. Thanks to
51 # http://www.frexx.de/xterm-256-notes/.
52 attrcolor b ".I"
53
54
55 # CAPTION AND HARDSTATUS
56
57 # Use white on light blue background for highlighting and text messages (and
58 # for window borders in split mode).
59 sorendition = Bw
60
61 # Display current battery charge if running on a laptop. Redisplay every 3
62 # minutes.
63 backtick 1 180 180 $HOME/.shell/bin/battery.pl -s # (BATTERY)
64
65 # Make sure the temporary variable we use is empty. Thanks to
66 # http://gist.github.com/133000 for the idea to use setenv and to TauPan in
67 # #screen on Freenode (2010-03-10 16:11 CET) for reminding me of it and
68 # searching it again.
69 unsetenv s
70
71 # Always display the caption.
72 setenv s "$s%{= Bw}" # - white on light blue background, also reset all
73                      #   attributes (necessary so everything is displayed
74                      #   correctly)
75 setenv s "$s%?%P"    # - is copy mode enabled? (GIT)
76 setenv s "$s%{= wB}" #   - if so change colors to light blue on white (GIT)
77 setenv s "$s%?"      # - end if (GIT)
78 setenv s "$s%3n"     # - window number
79 setenv s "$s "       # - space
80 setenv s "$s%t"      # - window name
81 caption always "$s"
82 unsetenv s
83 # Always display the status line with open windows and the hostname.
84 setenv s "$s%w"  # - number and names of windows
85 setenv s "$s%="  # - right align the following text
86 setenv s "$s%l"  # - load average
87 setenv s "$s "   # - space
88 setenv s "$s%H"  # - hostname
89 setenv s "$s "   # - space          (BATTERY)
90 setenv s "$s%1`" # - battery status (BATTERY)
91 hardstatus alwayslastline "$s"
92 unsetenv s
93
94
95 # BINDINGS
96
97 # Remove some bindings I don't use to prevent using them accidentally. You
98 # probably don't want to copy this.
99 bind K  # kill
100 bind k  # kill
101 bind ^K # kill
102 bind \\ # quit
103 bind ^\ # quit
104 bind ^Z # suspend
105 bind z  # suspend
106 bind ^S # xoff
107 bind s  # xoff
108 bind ^Q # xon
109 bind q  # xon
110 bind ^G # visual bell
111 bind D  # power detach
112
113 # Bindings for fast switching to windows 10 to 19. Thanks to skizzhg in
114 # #screen on Freenode (2010-10-31 21:49 CET) for the suggestion.
115 bind -c window 0 select 10
116 bind -c window 1 select 11
117 bind -c window 2 select 12
118 bind -c window 3 select 13
119 bind -c window 4 select 14
120 bind -c window 5 select 15
121 bind -c window 6 select 16
122 bind -c window 7 select 17
123 bind -c window 8 select 18
124 bind -c window 9 select 19
125 bind ; command -c window
126
127 # Run urlview on current screen content. Very useful to follow links. Make
128 # sure hardcopy_append is off before using this command.
129 bind ^B eval "hardcopy $HOME/.tmp/screen-urlview" "screen urlview $HOME/.tmp/screen-urlview"