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