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 "6x5-0-0" 48
35 VirtualDesktop "19200x9100-0-0" 48
37 #VirtualDesktop "8228x3848-0-0" 48
39 #VirtualDesktop "6432x3608-208-0" 48
41 #VirtualDesktop "6400x3600-208-0" 48
44 #VirtualDesktop "5136x3076-208-0" 48
45 #VirtualDesktop "5120x3072-237-0" 48
48 #VirtualDesktop "4x3-208-0" 48
54 FixManagedVirtualGeometries
55 FixTransientVirtualGeometries
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"
135 VirtualBackground "midnight blue"
136 DesktopDisplayBackground "black"
137 DesktopDisplayBorder "light steel blue"
138 RealScreenBackground "white"
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"
161 # Define some useful functions for motion-based actions.
163 Function "forcemove-or-lower" { f.forcemove f.deltastop f.lower }
164 Function "move-or-raise" { f.move f.deltastop f.raise }
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
172 Button1 = : desktop : f.movescreen
173 Button2 = : desktop : f.movescreen
174 #Button3 = : desktop : f.iconify
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"
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"
198 !"raise-mini-desktop"
201 Function "pan-down" {
202 !"raise-mini-desktop"
205 Function "pan-left" {
206 !"raise-mini-desktop"
209 Function "pan-right" {
210 !"raise-mini-desktop"
214 Function "drag-with-up" {
219 !"raise-mini-desktop"
222 Function "drag-with-down" {
227 !"raise-mini-desktop"
229 Function "drag-with-left" {
234 !"raise-mini-desktop"
236 Function "drag-with-right" {
241 !"raise-mini-desktop"
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"
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
259 # Accelerators in icon manager
260 "F7" = : iconmgr : f.previconmgr
261 "F8" = : iconmgr : f.nexticonmgr
262 "Menu" = : iconmgr : f.function "select"
264 # Accelerators everywhere for new clients
265 "F4" = : all : !"xtrlock &"
266 "F6" = : all : !"xterm &"
270 "Window Menu" f.title
278 "Identify" f.identify
279 "Forced move" f.forcemove
281 "Mouse help" f.menu "windowmice"
286 "Modifiers Leftbutton Middle Right" 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
299 "Restart" f.function "restart"
303 "Show icon list" f.showiconmgr
304 "Hide icon list" f.hideiconmgr
308 !"rm .configs/mini-desktop-window-id"
315 "Emacs restart" !".configs/startemacs"
316 "Emacs left" !"emacs -geometry 79x40+0+35 &"
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 &"
321 "Trn" !"xterm -geometry 80x45+240+95 -e trn &"
322 "Archie" !"xarchie &"
324 # "Xab large" !"xab &"
325 # "Xab small" !"perl -e '$xab=\"xab\"; exec $xab \"other-xab\"' &"
327 "Management" f.menu "special"
328 "Hosts" f.menu "hosts"
329 "Games" f.menu "games"
330 "Demos" f.menu "demos"
342 "Relativity" !"xterm-CT 'Relativity' -e ssh -p24 r-ian@relativity.dynamic.greenend.org.uk &"
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 &"
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 &"
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&"
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 &"
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 &"
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 &"
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' &"
391 "Demos - probably broken" f.title
394 "Muncher" !"muncher &"
397 "Colors" !"xcolors &"
405 "Games - probably broken" f.title
408 "MazeWar" !"xterm -e mazewar &"
410 "Reversi" !"reversi &"
412 "Robots" !"xrobots &"
414 "Solitaire" !"xsol &"