1 # GNU screen configuration file.
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.
7 # (BATTERY) is only used on laptops, (ROOT) only if running as root.
9 # Copyright (C) 2011-2013 Simon Ruderich
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.
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.
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/>.
25 # Automatically lock the screen after 10 minutes of inactivity if running as
27 idle 600 lockscreen # (ROOT)
29 # Don't display startup message.
32 # Use visual bell instead of audible bell.
35 # Increase the scrollback buffer.
38 # Ignore case when searching.
41 # I prefer zsh as my shell. GNU screen displays a warning if the shell isn't
45 # Don't "login" windows (= add them to the utmp database) by default. Not
46 # useful for me and the "$" flag clutters the window flags (displayed with
53 # Enable 256 color mode.
55 # Allow bold colors in XTerm (not necessary for Rxvt), not sure why this is
56 # necessary. Otherwise normal and bold colors are switched. Thanks to
57 # http://www.frexx.de/xterm-256-notes/.
61 # CAPTION AND HARDSTATUS
63 # Use white on light blue background for highlighting and text messages (and
64 # for window borders in split mode).
67 # Display current battery charge if running on a laptop. Redisplay every 3
69 backtick 1 180 180 $HOME/.shell/bin/battery.pl -s # (BATTERY)
71 # Make sure the temporary variable we use is empty. Thanks to
72 # http://gist.github.com/133000 for the idea to use setenv and to TauPan in
73 # #screen on Freenode (2010-03-10 16:11 CET) for reminding me of it and
77 # Always display the caption.
78 setenv s "$s%{= Bw}" # - white on light blue background, also reset all
79 # attributes (necessary so everything is displayed
81 setenv s "$s%?%P" # - is copy mode enabled? (GIT)
82 setenv s "$s%{= wB}" # - if so change colors to light blue on white (GIT)
83 setenv s "$s%?" # - end if (GIT)
84 setenv s "$s%3n" # - window number
85 setenv s "$s " # - space
86 setenv s "$s%t" # - window name
89 # Always display the status line with open windows and the hostname.
90 setenv s "$s%Lw" # - number and names of windows, L displays window flags
91 setenv s "$s%=" # - right align the following text
92 setenv s "$s%l" # - load average
93 setenv s "$s " # - space
94 setenv s "$s%H" # - hostname
95 setenv s "$s " # - space (BATTERY)
96 setenv s "$s%1`" # - battery status (BATTERY)
97 hardstatus alwayslastline "$s"
103 # Remove some bindings I don't use to prevent using them accidentally. You
104 # probably don't want to copy this.
116 bind ^G # visual bell
117 bind D # power detach
119 # Bindings for fast switching to windows 10 to 19. Thanks to skizzhg in
120 # #screen on Freenode (2010-10-31 21:49 CET) for the suggestion.
121 bind ; command -c window
122 bind -c window 0 select 10
123 bind -c window 1 select 11
124 bind -c window 2 select 12
125 bind -c window 3 select 13
126 bind -c window 4 select 14
127 bind -c window 5 select 15
128 bind -c window 6 select 16
129 bind -c window 7 select 17
130 bind -c window 8 select 18
131 bind -c window 9 select 19
132 # And bindings for windows 20 to 29 with e.g. ;;1. Thanks to Kays in #irssi on
133 # Freenode (2012-10-18 16:25 CEST) for the suggestion to use ;;.
134 bind -c window ; command -c window2
135 bind -c window2 0 select 20
136 bind -c window2 1 select 21
137 bind -c window2 2 select 22
138 bind -c window2 3 select 23
139 bind -c window2 4 select 24
140 bind -c window2 5 select 25
141 bind -c window2 6 select 26
142 bind -c window2 7 select 27
143 bind -c window2 8 select 28
144 bind -c window2 9 select 29
146 # Run urlview on current screen content. Very useful to follow links. Make
147 # sure hardcopy_append is off before using this command.
148 bind ^B eval "hardcopy $HOME/.tmp/screen-urlview" "screen urlview $HOME/.tmp/screen-urlview"