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