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 "8228x3848-0-0" 48
36 #VirtualDesktop "6432x3608-208-0" 48
38 #VirtualDesktop "6400x3600-208-0" 48
41 #VirtualDesktop "5136x3076-208-0" 48
42 #VirtualDesktop "5120x3072-237-0" 48
45 #VirtualDesktop "4x3-208-0" 48
51 FixManagedVirtualGeometries
52 FixTransientVirtualGeometries
116 DefaultBackground "black"
117 DefaultForeground "white"
118 TitleBackground "midnight blue"
119 TitleForeground "light steel blue"
120 MenuBackground "midnight blue"
121 MenuForeground "light steel blue"
122 MenuTitleBackground "midnight blue"
123 MenuTitleForeground "light steel blue"
124 IconBackground "midnight blue"
125 IconForeground "light steel blue"
126 IconBorderColor "red"
127 IconManagerBackground "orange1"
128 IconManagerForeground "black"
129 BorderTileForeground "red"
130 BorderTileBackground "red"
132 VirtualBackground "midnight blue"
133 DesktopDisplayBackground "black"
134 DesktopDisplayBorder "light steel blue"
135 RealScreenBackground "white"
141 DefaultBackground "black"
142 DefaultForeground "white"
143 TitleBackground "white"
144 TitleForeground "black"
145 MenuBackground "black"
146 MenuForeground "white"
147 MenuTitleBackground "black"
148 MenuTitleForeground "white"
149 IconBackground "black"
150 IconForeground "white"
151 IconBorderColor "white"
152 IconManagerBackground "white"
153 IconManagerForeground "black"
154 BorderTileForeground "black"
155 BorderTileBackground "white"
158 # Define some useful functions for motion-based actions.
160 Function "forcemove-or-lower" { f.forcemove f.deltastop f.lower }
161 Function "move-or-raise" { f.move f.deltastop f.raise }
163 # Root window buttons
164 Button1 = : root : f.menu "hosts"
165 Button2 = : root : f.menu "TwmWindows"
166 Button3 = : root : f.menu "programs"
167 Button1 = m : root : f.unfocus
169 Button1 = : desktop : f.movescreen
170 Button2 = : desktop : f.movescreen
171 #Button3 = : desktop : f.iconify
174 Button1 = : icon|iconmgr|frame|title : f.function "move-or-raise"
175 Button2 = : icon|iconmgr|frame|title : f.function "forcemove-or-lower"
176 Button3 = : icon|iconmgr|frame|title : f.menu "windowmenu"
177 Button1 = shift : icon|iconmgr|frame|title : f.iconify
178 Button2 = shift : icon|iconmgr|frame|title : f.resize
179 Button3 = shift : icon|iconmgr|frame|title : f.zoom
180 Button1 = m : icon|iconmgr|frame|title : f.focus
181 Button3 = m : icon|iconmgr|frame|title : f.saveyourself
182 Button1 = control : icon|iconmgr|frame|title : f.forcemove
183 Button3 = control : icon|iconmgr|frame|title : f.delete
184 Button3 = control|shift : icon|iconmgr|frame|title : f.destroy
185 Button1 = control|shift|m : window|frame|title : f.destroy
186 Button2 = control|shift|m : window|frame|title : f.forcemove
187 Button3 = control|shift|m : window|frame|title : f.menu "windowmenu"
189 "Up" = m : all : f.function "pan-up"
190 "Down" = m : all : f.function "pan-down"
191 "Left" = m : all : f.function "pan-left"
192 "Right" = m : all : f.function "pan-right"
195 !"raise-mini-desktop"
198 Function "pan-down" {
199 !"raise-mini-desktop"
202 Function "pan-left" {
203 !"raise-mini-desktop"
206 Function "pan-right" {
207 !"raise-mini-desktop"
211 Function "drag-with-up" {
216 !"raise-mini-desktop"
219 Function "drag-with-down" {
224 !"raise-mini-desktop"
226 Function "drag-with-left" {
231 !"raise-mini-desktop"
233 Function "drag-with-right" {
238 !"raise-mini-desktop"
241 "Up" = m|shift : window|frame|title : f.function "drag-with-up"
242 "Down" = m|shift : window|frame|title : f.function "drag-with-down"
243 "Left" = m|shift : window|frame|title : f.function "drag-with-left"
244 "Right" = m|shift : window|frame|title : f.function "drag-with-right"
246 # Accelerators out of icon manager
247 # "F1" = : icon|window|frame|title : f.iconify
248 "F2" = : icon|window|frame|title : f.raise
249 "F3" = : icon|window|frame|title : f.lower
250 "F1" = : iconmgr : f.hideiconmgr
251 "F2" = : iconmgr : f.hideiconmgr
252 "F7" = : all : f.warpring "prev"
253 "F8" = : all : f.warpring "next"
254 "Menu" = : icon|window|frame|title : f.showiconmgr
256 # Accelerators in icon manager
257 "F7" = : iconmgr : f.previconmgr
258 "F8" = : iconmgr : f.nexticonmgr
259 "Menu" = : iconmgr : f.function "select"
261 # Accelerators everywhere for new clients
262 "F4" = : all : !"xtrlock &"
263 "F6" = : all : !"LC_CTYPE=en_GB.utf-8 xterm &"
267 "Window Menu" f.title
275 "Identify" f.identify
276 "Forced move" f.forcemove
278 "Mouse help" f.menu "windowmice"
283 "Modifiers Leftbutton Middle Right" f.nop
285 " Move/Raise Move/Lower Menu" f.nop
286 " Shift: Iconify Resize Zoom" f.nop
287 " Meta: Focus/Unfocus Checkpoint" f.nop
288 " Control: Forced Move Delete" f.nop
289 "Control+Shift: Destroy" f.nop
296 "Restart" f.function "restart"
300 "Show icon list" f.showiconmgr
301 "Hide icon list" f.hideiconmgr
305 !"rm .configs/mini-desktop-window-id"
312 "Emacs restart" !".configs/startemacs"
313 "Emacs left" !"emacs -geometry 79x40+0+35 &"
315 "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' &"
316 # "IRC iwj" !"xterm -geometry 80x70+340-0 -T 'IRC iwj' -e irc iwj cam.irc.devel.ncipher.com &"
318 "Trn" !"xterm -geometry 80x45+240+95 -e trn &"
319 "Archie" !"xarchie &"
321 # "Xab large" !"xab &"
322 # "Xab small" !"perl -e '$xab=\"xab\"; exec $xab \"other-xab\"' &"
324 "Management" f.menu "special"
325 "Hosts" f.menu "hosts"
326 "Games" f.menu "games"
327 "Demos" f.menu "demos"
339 "Relativity" !"xterm-CT 'Relativity' -e ssh -p24 r-ian@relativity.dynamic.greenend.org.uk &"
341 "Lewes" !"xterm-CT 'lewes rlogin' -e rlogin lewes &"
342 "Scunthorpe" !"xterm-CT 'scunthorpe rlogin' -e rlogin scunthorpe &"
343 "Saintpaul" !"xterm-CT 'saintpaul rlogin' -e rlogin saintpaul &"
344 "Slough" !"xterm-CT 'slough rlogin' -e rlogin slough &"
345 "Guildford" !"xterm-CT 'guildford rlogin' -e rlogin guildford &"
346 "York" !"xterm-CT 'york rlogin' -e rlogin york &"
347 # "Greenock" !"xterm-CT 'greenock rlogin' -e rlogin greenock &"
349 "Ursa" !"xterm-CT 'ursa rlogin' -e rlogin ursa.cus.cam.ac.uk -l iwj10 &"
350 "Taurus" !"xterm-CT 'taurus ssh' -e ssh taurus.cus.cam.ac.uk -l iwj10 &"
351 "Taurus rlogin" !"xterm-CT 'taurus rlogin' -e rlogin taurus.cus.cam.ac.uk -l iwj10 &"
352 "Bootes" !"xterm-CT 'bootes rlogin' -e rlogin bootes.cus.cam.ac.uk -l iwj10 &"
353 "Thor" !"xterm-CT 'thor rlogin' -e rlogin hammer.thor.cam.ac.uk -l iwj10 &"
355 "Leek" !"xterm-CT 'leek rlogin' -e rlogin leek.cam-orl.co.uk -l iwj&"
356 "Lobster" !"xterm-CT 'lobster rlogin' -e rlogin lobster.cam-orl.co.uk -l iwj&"
358 "Shep" !"xterm-CT 'shep ssh' -e ssh shep.cl.cam.ac.uk -l iwj10 &"
359 "Ouse" !"xterm-CT 'ouse ssh' -e ssh ouse.cl.cam.ac.uk -l iwj10 &"
361 "Chiark" !"xterm-CT 'chiark ssh' -e ssh chiark.greenend.org.uk -l ijackson &"
362 "Chiark ian" !"xterm-CT 'chiark ssh ian' -e ssh chiark.greenend.org.uk -l ian &"
363 "Chiark II" !"xterm-CT 'chiark ssh II' -e ssh chiark.greenend.org.uk -t -l ijackson personal/linux/bin/II &"
364 "Iguana" !"xterm-CT 'iguana ssh' -e ssh iguana.ucam.org -l ijackson &"
365 "Utter" !"xterm-CT 'utter ssh' -e ssh utter.chaos.org.uk -l ijackson &"
367 "Club" !"xterm-CT 'club rlogin' -e rlogin club.damtp.cam.ac.uk -l iwj10 &"
368 "Greed" !"xterm-CT 'greed rlogin' -e rlogin greed.damtp.cam.ac.uk -l iwj10 &"
369 "Enghp" !"xterm -geometry 80x50 -T 'enghp' -e rlogin enghp.chu.cam.ac.uk -l iwj10 &"
370 "Impren" !"xterm-CT 'impren rlogin' -e rlogin impren.al.cl.cam.ac.uk -l ijackson &"
372 "Novare -v" !"xterm-CT 'novare -v' -e ssh -v debian.novare.net -l iwj &"
373 "Novare" !"xterm-CT 'novare' -e ssh debian.novare.net -l iwj &"
374 "Debian" !"xterm-CT 'debian' -e rlogin ftp.debian.org -l iwj &"
375 "Debra" !"xterm-CT 'debra' -e rlogin debra.debian.org -l iwj &"
376 "GNU" !"xterm-CT 'gnu' -e rlogin mescaline.gnu.org -l ijackson &"
377 "GNU dist" !"xterm-CT 'gnudist' -e rlogin gnudist.gnu.org -l ijackson &"
378 "Master" !"xterm-CT 'master' -e ssh master.debian.org -l iwj &"
379 "Va" !"xterm-CT 'va' -e ssh va.debian.org -l iwj &"
380 "Nyx" !"xterm-CT 'nyx - rlogin' -e rlogin nyx.cs.du.edu -l ijackson &"
381 "Sunsite" !"xterm-CT 'sunsite' -e rlogin sunsite.unc.edu -l iwj &"
382 "White" !"xterm-CT 'white' -geometry 80x25 -e sh -c \
383 'rlogin white.dogwood.com; line >/dev/null' &"
388 "Demos - probably broken" f.title
391 "Muncher" !"muncher &"
394 "Colors" !"xcolors &"
402 "Games - probably broken" f.title
405 "MazeWar" !"xterm -e mazewar &"
407 "Reversi" !"reversi &"
409 "Robots" !"xrobots &"
411 "Solitaire" !"xsol &"