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"
25 Function "select" { f.iconify f.deiconify }
26 WindowFunction f.function "select"
27 WindowRing { "emacs" "emacs18" "XTerm" }
28 OldFashionedTwmWindowsMenu
34 VirtualDesktop "19200x9000-0-0" 48
36 #VirtualDesktop "8228x3848-0-0" 48
38 #VirtualDesktop "6432x3608-208-0" 48
40 #VirtualDesktop "6400x3600-208-0" 48
43 #VirtualDesktop "5136x3076-208-0" 48
44 #VirtualDesktop "5120x3072-237-0" 48
47 #VirtualDesktop "4x3-208-0" 48
53 FixManagedVirtualGeometries
54 FixTransientVirtualGeometries
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"
134 VirtualBackground "midnight blue"
135 DesktopDisplayBackground "black"
136 DesktopDisplayBorder "light steel blue"
137 RealScreenBackground "white"
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"
160 # Define some useful functions for motion-based actions.
162 Function "forcemove-or-lower" { f.forcemove f.deltastop f.lower }
163 Function "move-or-raise" { f.move f.deltastop f.raise }
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
171 Button1 = : desktop : f.movescreen
172 Button2 = : desktop : f.movescreen
173 #Button3 = : desktop : f.iconify
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"
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"
197 !"raise-mini-desktop"
200 Function "pan-down" {
201 !"raise-mini-desktop"
204 Function "pan-left" {
205 !"raise-mini-desktop"
208 Function "pan-right" {
209 !"raise-mini-desktop"
213 Function "drag-with-up" {
218 !"raise-mini-desktop"
221 Function "drag-with-down" {
226 !"raise-mini-desktop"
228 Function "drag-with-left" {
233 !"raise-mini-desktop"
235 Function "drag-with-right" {
240 !"raise-mini-desktop"
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"
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
258 # Accelerators in icon manager
259 "F7" = : iconmgr : f.previconmgr
260 "F8" = : iconmgr : f.nexticonmgr
261 "Menu" = : iconmgr : f.function "select"
263 # Accelerators everywhere for new clients
264 "F4" = : all : !"xtrlock &"
265 "F6" = : all : !"LC_CTYPE=en_GB.utf-8 xterm &"
269 "Window Menu" f.title
277 "Identify" f.identify
278 "Forced move" f.forcemove
280 "Mouse help" f.menu "windowmice"
285 "Modifiers Leftbutton Middle Right" 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
298 "Restart" f.function "restart"
302 "Show icon list" f.showiconmgr
303 "Hide icon list" f.hideiconmgr
307 !"rm .configs/mini-desktop-window-id"
314 "Emacs restart" !".configs/startemacs"
315 "Emacs left" !"emacs -geometry 79x40+0+35 &"
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 &"
320 "Trn" !"xterm -geometry 80x45+240+95 -e trn &"
321 "Archie" !"xarchie &"
323 # "Xab large" !"xab &"
324 # "Xab small" !"perl -e '$xab=\"xab\"; exec $xab \"other-xab\"' &"
326 "Management" f.menu "special"
327 "Hosts" f.menu "hosts"
328 "Games" f.menu "games"
329 "Demos" f.menu "demos"
341 "Relativity" !"xterm-CT 'Relativity' -e ssh -p24 r-ian@relativity.dynamic.greenend.org.uk &"
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 &"
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 &"
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&"
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 &"
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 &"
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 &"
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' &"
390 "Demos - probably broken" f.title
393 "Muncher" !"muncher &"
396 "Colors" !"xcolors &"
404 "Games - probably broken" f.title
407 "MazeWar" !"xterm -e mazewar &"
409 "Reversi" !"reversi &"
411 "Robots" !"xrobots &"
413 "Solitaire" !"xsol &"