2 # Ian's twm configuration file.
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-*-*-*"
14 IconManagerGeometry "119x286+0+0"
22 NoTitle { "TWM Icon Manager" "VTWM Desktop" "xclock" "xload" }
23 DontSqueezeTitle { "emacs" "emacs18" "epoch" "Emacs" }
27 Function "select" { f.iconify f.deiconify }
28 WindowFunction f.function "select"
29 WindowRing { "emacs" "emacs18" "XTerm" }
30 OldFashionedTwmWindowsMenu
32 VirtualDesktop "6432x3608-208-0" 48
33 #VirtualDesktop "6400x3600-208-0" 48
36 #VirtualDesktop "5136x3076-208-0" 48
37 #VirtualDesktop "5120x3072-237-0" 48
40 #VirtualDesktop "4x3-208-0" 48
46 FixManagedVirtualGeometries
47 FixTransientVirtualGeometries
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"
107 VirtualBackground "midnight blue"
108 DesktopDisplayBackground "black"
109 DesktopDisplayBorder "light steel blue"
110 RealScreenBackground "white"
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"
133 # Define some useful functions for motion-based actions.
135 Function "forcemove-or-lower" { f.forcemove f.deltastop f.lower }
136 Function "move-or-raise" { f.move f.deltastop f.raise }
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
144 Button1 = : desktop : f.movescreen
145 Button2 = : desktop : f.movescreen
146 #Button3 = : desktop : f.iconify
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"
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"
169 Function "drag-with-up" {
176 Function "drag-with-down" {
183 Function "drag-with-left" {
190 Function "drag-with-right" {
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"
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
212 # Accelerators in icon manager
213 "F7" = : iconmgr : f.previconmgr
214 "F8" = : iconmgr : f.nexticonmgr
215 "Menu" = : iconmgr : f.function "select"
217 # Accelerators everywhere for new clients
218 "F4" = : all : !"xtrlock &"
219 "F6" = : all : !"xterm &"
223 "Window Menu" f.title
231 "Identify" f.identify
232 "Forced move" f.forcemove
234 "Mouse help" f.menu "windowmice"
239 "Modifiers Leftbutton Middle Right" 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
256 "Show icon list" f.showiconmgr
257 "Hide icon list" f.hideiconmgr
263 "Emacs restart" !".configs/startemacs"
264 "Emacs left" !"emacs -geometry 79x40+0+35 &"
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 &"
269 "Trn" !"xterm -geometry 80x45+240+95 -e trn &"
270 "Archie" !"xarchie &"
272 # "Xab large" !"xab &"
273 # "Xab small" !"perl -e '$xab=\"xab\"; exec $xab \"other-xab\"' &"
275 "Management" f.menu "special"
276 "Hosts" f.menu "hosts"
277 "Games" f.menu "games"
278 "Demos" f.menu "demos"
287 my ($x,$xfqdn,$usex,$rsh) = @_;
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 $xfqdn"). "\t&\"";
300 my ($x,$h,$rsh) = @_;
301 &host($x,"$x.$ncipherdom{$h}", $ncipher eq $h, $rsh);
304 @@ &host_nc( 'dover', 'cam', 1) @@
306 @@ &host_nc( 'dounreay', 'cam', 0) @@
307 @@ &host( 'titanic','titanic.ncipher.com', 0, 1) @@
308 @@ &host( 'belgrano','belgrano.ncipher.com', 0, 0) @@
310 @@ &host_nc( 'pell', 'bos', 0) @@
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', 0) @@
320 @@ &host_nc( 'viking', 'bos', 0) @@
321 @@ &host_nc( 'arrakis', 'bos', 0) @@
325 "Relativity" !"xterm-CT 'Relativity' -e ssh -p24 r-ian@relativity.dynamic.greenend.org.uk &"
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 &"
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 &"
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&"
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 &"
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 &"
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 &"
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' &"
374 "Demos - probably broken" f.title
377 "Muncher" !"muncher &"
380 "Colors" !"xcolors &"
388 "Games - probably broken" f.title
391 "MazeWar" !"xterm -e mazewar &"
393 "Reversi" !"reversi &"
395 "Robots" !"xrobots &"
397 "Solitaire" !"xsol &"