chiark / gitweb /
f4cd37a3d68dbe69a7a680ab1583210051e2c6c6
[ian-dotfiles.git] / dot / vtwmrc
1 #
2 # Ian's twm configuration file.
3 #
4
5 # RandomPlacement
6 DecorateTransients
7 TitleFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
8 ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
9 MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
10 IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*"
11 IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*"
12 IconifyByUnmapping
13 NoCaseSensitive
14 IconManagerGeometry "119x286+0+0"
15 NoDefaults
16 DontMoveOff
17 OpaqueMove
18 Zoom
19 NoRaiseOnMove
20 NoRaiseOnResize
21 SortIconManager
22 SqueezeTitle
23 RestartPreviousState
24 WarpCursor
25 Function "select" { f.iconify f.deiconify }
26 WindowFunction f.function "select"
27 WindowRing { "emacs" "emacs18" "XTerm" }
28 OldFashionedTwmWindowsMenu
29
30 NoStackMode {
31         "Iceweasel"
32 }
33
34 VirtualDesktop "19200x9000-0-0" 48
35
36 #VirtualDesktop "8228x3848-0-0" 48
37
38 #VirtualDesktop "6432x3608-208-0" 48
39
40 #VirtualDesktop "6400x3600-208-0" 48
41 # +32,+8
42
43 #VirtualDesktop "5136x3076-208-0" 48
44 #VirtualDesktop "5120x3072-237-0" 48
45 # +16,+4
46
47 #VirtualDesktop "4x3-208-0" 48
48
49 NotVirtualGeometries
50 PanDistanceX 100
51 PanDistanceY 100
52
53 FixManagedVirtualGeometries
54 FixTransientVirtualGeometries
55 SnapRealScreen
56
57 NoTitle {
58         "TWM Icon Manager"
59         "VTWM Desktop"
60         "xclock"
61         "panel"
62         "xload"
63         "xacpi-simple"
64 }
65
66 DontSqueezeTitle {
67         "emacs"
68         "emacs18"
69         "epoch"
70         "Emacs"
71 }
72
73 DontShowInDisplay { 
74         "VTWM Desktop"
75         "xb ian"
76         "xb sysadmin"
77         "xb chiark"
78         "xb iwj"
79         "xclock"
80         "xload"
81         "XLoad"
82         "panel"
83         "xacpi-simple"
84 }
85
86 NailedDown {
87         "VTWM Desktop"
88         "xb ian"
89         "xb sysadmin"
90         "xb chiark"
91         "xb iwj"
92         "xclock"
93         "xwrits"
94         "xload"
95         "XLoad"
96         "panel"
97         "xacpi-simple"
98 }
99
100 Cursors
101 {
102         Frame           "crosshair"
103         Title           "crosshair"
104         Icon            "crosshair"
105         IconMgr         "crosshair"
106         Move            "fleur"
107         Resize          "fleur"
108         Menu            "sb_left_arrow"
109         Button          "hand2"
110         Wait            "watch"
111         Select          "dot"
112         Destroy         "pirate"
113 }
114
115 Color
116 {
117     BorderColor "yellow"
118     DefaultBackground "black"
119     DefaultForeground "white"
120     TitleBackground "midnight blue"
121     TitleForeground "light steel blue"
122     MenuBackground "midnight blue"
123     MenuForeground "light steel blue"
124     MenuTitleBackground "midnight blue"
125     MenuTitleForeground "light steel blue"
126     IconBackground "midnight blue"
127     IconForeground "light steel blue"
128     IconBorderColor "red"
129     IconManagerBackground "orange1"
130     IconManagerForeground "black"
131     BorderTileForeground "red"
132     BorderTileBackground "red"
133
134     VirtualBackground "midnight blue"
135     DesktopDisplayBackground "black"
136     DesktopDisplayBorder "light steel blue"
137     RealScreenBackground "white"
138 }
139
140 Monochrome
141 {
142     BorderColor "black"
143     DefaultBackground "black"
144     DefaultForeground "white"
145     TitleBackground "white"
146     TitleForeground "black"
147     MenuBackground "black"
148     MenuForeground "white"
149     MenuTitleBackground "black"
150     MenuTitleForeground "white"
151     IconBackground "black"
152     IconForeground "white"
153     IconBorderColor "white"
154     IconManagerBackground "white"
155     IconManagerForeground "black"
156     BorderTileForeground "black"
157     BorderTileBackground "white"
158 }
159
160 # Define some useful functions for motion-based actions.
161 MoveDelta 3
162 Function "forcemove-or-lower" { f.forcemove f.deltastop f.lower }
163 Function "move-or-raise" { f.move f.deltastop f.raise }
164
165 # Root window buttons
166 Button1 =       : root          : f.menu "hosts"
167 Button2 =       : root          : f.menu "TwmWindows"
168 Button3 =       : root          : f.menu "programs"
169 Button1 = m     : root          : f.unfocus
170
171 Button1 = : desktop : f.movescreen
172 Button2 = : desktop : f.movescreen
173 #Button3 = : desktop : f.iconify
174
175 # Per window buttons
176 Button1 =               : icon|iconmgr|frame|title      : f.function "move-or-raise"
177 Button2 =               : icon|iconmgr|frame|title      : f.function "forcemove-or-lower"
178 Button3 =               : icon|iconmgr|frame|title      : f.menu "windowmenu"
179 Button1 = shift         : icon|iconmgr|frame|title      : f.iconify
180 Button2 = shift         : icon|iconmgr|frame|title      : f.resize
181 Button3 = shift         : icon|iconmgr|frame|title      : f.zoom
182 Button1 = m             : icon|iconmgr|frame|title      : f.focus
183 Button3 = m             : icon|iconmgr|frame|title      : f.saveyourself
184 Button1 = control       : icon|iconmgr|frame|title      : f.forcemove
185 Button3 = control       : icon|iconmgr|frame|title      : f.delete
186 Button3 = control|shift : icon|iconmgr|frame|title      : f.destroy
187 Button1 = control|shift|m : window|frame|title          : f.destroy
188 Button2 = control|shift|m : window|frame|title          : f.forcemove
189 Button3 = control|shift|m : window|frame|title          : f.menu "windowmenu"
190
191 "Up"    = m : all                               : f.function "pan-up"
192 "Down"  = m : all                               : f.function "pan-down"
193 "Left"  = m : all                               : f.function "pan-left"
194 "Right" = m : all                               : f.function "pan-right"
195
196 Function "pan-up" {
197         !"raise-mini-desktop"
198         f.panup "100"
199 }
200 Function "pan-down" {
201         !"raise-mini-desktop"
202         f.pandown "100"
203 }
204 Function "pan-left" {
205         !"raise-mini-desktop"
206         f.panleft "100"
207 }
208 Function "pan-right" {
209         !"raise-mini-desktop"
210         f.panright "100"
211 }
212
213 Function "drag-with-up" {
214         f.nail
215         f.panup "100"
216         f.raise
217         f.nail
218         !"raise-mini-desktop"
219 }
220
221 Function "drag-with-down" {
222         f.nail
223         f.pandown "100"
224         f.raise
225         f.nail
226         !"raise-mini-desktop"
227 }
228 Function "drag-with-left" {
229         f.nail
230         f.panleft "100"
231         f.raise
232         f.nail
233         !"raise-mini-desktop"
234 }
235 Function "drag-with-right" {
236         f.nail
237         f.panright "100"
238         f.raise
239         f.nail
240         !"raise-mini-desktop"
241 }
242
243 "Up"    = m|shift : window|frame|title  : f.function "drag-with-up"
244 "Down"  = m|shift : window|frame|title  : f.function "drag-with-down"
245 "Left"  = m|shift : window|frame|title  : f.function "drag-with-left"
246 "Right" = m|shift : window|frame|title  : f.function "drag-with-right"
247
248 # Accelerators out of icon manager
249 # "F1"          =       : icon|window|frame|title       : f.iconify
250 "F2"            =       : icon|window|frame|title       : f.raise
251 "F3"            =       : icon|window|frame|title       : f.lower
252 "F1"            =       : iconmgr                       : f.hideiconmgr
253 "F2"            =       : iconmgr                       : f.hideiconmgr
254 "F7"            =       : all                           : f.warpring "prev"
255 "F8"            =       : all                           : f.warpring "next"
256 "Menu"          =       : icon|window|frame|title       : f.showiconmgr
257
258 # Accelerators in icon manager
259 "F7"            =       : iconmgr                       : f.previconmgr
260 "F8"            =       : iconmgr                       : f.nexticonmgr
261 "Menu"          =       : iconmgr                       : f.function "select"
262
263 # Accelerators everywhere for new clients
264 "F4"            =       : all                   : !"xtrlock &"
265 "F6"            =       : all           : !"LC_CTYPE=en_GB.utf-8 xterm &"
266
267 menu "windowmenu"
268 {
269         "Window Menu"   f.title
270         "Close"         f.delete
271         "Destroy"       f.destroy
272         ""              f.nop
273         "Icon"          f.iconify
274         "Nail"          f.nail
275         "Zoom"          f.zoom
276         "Resize"        f.resize
277         "Identify"      f.identify
278         "Forced move"   f.forcemove
279         ""              f.nop
280         "Mouse help"    f.menu "windowmice"
281 }
282
283 menu "windowmice"
284 {
285         "Modifiers      Leftbutton      Middle      Right"      f.nop
286         ""                                                      f.nop
287         "                 Move/Raise    Move/Lower   Menu"       f.nop
288         " Shift:            Iconify           Resize       Zoom"       f.nop
289         "  Meta:       Focus/Unfocus                Checkpoint" f.nop
290         " Control:       Forced Move                       Delete"     f.nop
291         "Control+Shift:                                    Destroy"    f.nop
292 }
293
294 menu "special"
295 {
296         "Management"            f.title
297         "Refresh"               f.refresh
298         "Restart"               f.function "restart"
299         ""                      f.nop
300         "Kill twm"              f.quit
301         ""                      f.nop
302         "Show icon list"        f.showiconmgr
303         "Hide icon list"        f.hideiconmgr
304 }
305
306 Function "restart" {
307         !"rm .configs/mini-desktop-window-id"
308         f.restart
309 }
310
311 menu "programs"
312 {
313         "Programs"      f.title
314         "Emacs restart" !".configs/startemacs"
315         "Emacs left"    !"emacs -geometry 79x40+0+35 &"
316         ""              f.nop
317  "IRC Diziet" !"xterm -geometry 80x24+24-0 -T ' IRC' -e sh -c 'ssh -vt ijackson@tunnel.chiark.greenend.org.uk screen -x irc; read x' &"
318 # "IRC iwj" !"xterm -geometry 80x70+340-0 -T 'IRC iwj' -e irc iwj cam.irc.devel.ncipher.com &"
319         ""              f.nop
320         "Trn"           !"xterm -geometry 80x45+240+95 -e trn &"
321         "Archie"        !"xarchie &"
322         "Calc"          !"xcalc &"
323 #       "Xab large"     !"xab &"
324 #       "Xab small"     !"perl -e '$xab=\"xab\"; exec $xab \"other-xab\"' &"
325         ""              f.nop
326         "Management"    f.menu "special"
327         "Hosts"         f.menu "hosts"
328         "Games"         f.menu "games"
329         "Demos"         f.menu "demos"
330 }
331
332
333 Menu "hosts"
334 {
335         "Hosts"         f.title
336
337
338
339
340  ""             f.nop
341  "Relativity"   !"xterm-CT 'Relativity' -e ssh -p24 r-ian@relativity.dynamic.greenend.org.uk &"
342  ""             f.nop
343  "Lewes"        !"xterm-CT 'lewes rlogin' -e rlogin lewes &"
344  "Scunthorpe"   !"xterm-CT 'scunthorpe rlogin' -e rlogin scunthorpe &"
345  "Saintpaul"    !"xterm-CT 'saintpaul rlogin' -e rlogin saintpaul &"
346  "Slough"       !"xterm-CT 'slough rlogin' -e rlogin slough &"
347  "Guildford"    !"xterm-CT 'guildford rlogin' -e rlogin guildford &"
348  "York"         !"xterm-CT 'york rlogin' -e rlogin york &"
349 # "Greenock"    !"xterm-CT 'greenock rlogin' -e rlogin greenock &"
350  ""             f.nop
351  "Ursa"         !"xterm-CT 'ursa rlogin' -e rlogin ursa.cus.cam.ac.uk -l iwj10 &"
352  "Taurus"       !"xterm-CT 'taurus ssh' -e ssh taurus.cus.cam.ac.uk -l iwj10 &"
353  "Taurus rlogin" !"xterm-CT 'taurus rlogin' -e rlogin taurus.cus.cam.ac.uk -l iwj10 &"
354  "Bootes"       !"xterm-CT 'bootes rlogin' -e rlogin bootes.cus.cam.ac.uk -l iwj10 &"
355  "Thor"         !"xterm-CT 'thor rlogin' -e rlogin hammer.thor.cam.ac.uk -l iwj10 &"
356  ""             f.nop
357  "Leek"         !"xterm-CT 'leek rlogin' -e rlogin leek.cam-orl.co.uk -l iwj&"
358  "Lobster"      !"xterm-CT 'lobster rlogin' -e rlogin lobster.cam-orl.co.uk -l iwj&"
359  ""             f.nop
360  "Shep"         !"xterm-CT 'shep ssh' -e ssh shep.cl.cam.ac.uk -l iwj10 &"
361  "Ouse"         !"xterm-CT 'ouse ssh' -e ssh ouse.cl.cam.ac.uk -l iwj10 &"
362         ""              f.nop
363  "Chiark"       !"xterm-CT 'chiark ssh' -e ssh chiark.greenend.org.uk -l ijackson &"
364  "Chiark ian"   !"xterm-CT 'chiark ssh ian' -e ssh chiark.greenend.org.uk -l ian &"
365  "Chiark II"    !"xterm-CT 'chiark ssh II' -e ssh chiark.greenend.org.uk -t -l ijackson personal/linux/bin/II &"
366  "Iguana"       !"xterm-CT 'iguana ssh' -e ssh iguana.ucam.org -l ijackson &"
367  "Utter"        !"xterm-CT 'utter ssh' -e ssh utter.chaos.org.uk -l ijackson &"
368         ""              f.nop
369  "Club"         !"xterm-CT 'club rlogin' -e rlogin club.damtp.cam.ac.uk -l iwj10 &"
370  "Greed"        !"xterm-CT 'greed rlogin' -e rlogin greed.damtp.cam.ac.uk -l iwj10 &"
371  "Enghp"     !"xterm -geometry 80x50 -T 'enghp' -e rlogin enghp.chu.cam.ac.uk -l iwj10 &"
372  "Impren"    !"xterm-CT 'impren rlogin' -e rlogin impren.al.cl.cam.ac.uk -l ijackson &"
373  ""             f.nop
374  "Novare -v"    !"xterm-CT 'novare -v' -e ssh -v debian.novare.net -l iwj &"
375  "Novare"       !"xterm-CT 'novare' -e ssh debian.novare.net -l iwj &"
376  "Debian"       !"xterm-CT 'debian' -e rlogin ftp.debian.org -l iwj &"
377  "Debra"                !"xterm-CT 'debra' -e rlogin debra.debian.org -l iwj &"
378  "GNU"          !"xterm-CT 'gnu' -e rlogin mescaline.gnu.org -l ijackson &"
379  "GNU dist"     !"xterm-CT 'gnudist' -e rlogin gnudist.gnu.org -l ijackson &"
380  "Master"       !"xterm-CT 'master' -e ssh master.debian.org -l iwj &"
381  "Va"           !"xterm-CT 'va' -e ssh va.debian.org -l iwj &"
382  "Nyx"          !"xterm-CT 'nyx - rlogin' -e rlogin nyx.cs.du.edu -l ijackson &"
383  "Sunsite"      !"xterm-CT 'sunsite' -e rlogin sunsite.unc.edu -l iwj &"
384  "White"                !"xterm-CT 'white' -geometry 80x25 -e sh -c \
385                 'rlogin white.dogwood.com; line >/dev/null' &"
386 }
387
388 Menu "demos"
389 {
390         "Demos - probably broken"       f.title
391         "Ico"                           !"ico &"
392         "Maze"                          !"maze &"
393         "Muncher"                       !"muncher &"
394         "Plaid"                         !"plaid &"
395         "Worm"                          !"worm &"
396         "Colors"                        !"xcolors &"
397         "Eyes"                          !"xeyes &"
398         "Life"                          !"xlife &"
399         "XLogo"                         !"xlogo &"
400 }
401
402 Menu "games"
403 {
404         "Games - probably broken"       f.title
405         "Chomp"                         !"xchomp &"
406         "Cbzone"                        !"cbzone &"
407         "MazeWar"                       !"xterm -e mazewar &"
408         "Mille"                         !"xmille &"
409         "Reversi"                       !"reversi &"
410         "Roids"                         !"roids &"
411         "Robots"                        !"xrobots &"
412         "Shanghai"                      !"xmj &"
413         "Solitaire"                     !"xsol &"
414         "Spider"                        !"spider &"
415 }