#********************************************************************** # .twmrc - This works with the X11R[45] UMDENG twm. # This file contains the default menus and operation for # the twm window manager. # # This file is parsed by m4 before twm ever sees it. Do not try # to use it on a window manager that doesn't use m4 to pre-proess # for it. # # This file is used and maintained by Chris P. Ross # # # ( This file is used for multiple twm dirivitives. That's why there # are so many 'ifelse(TWM_TYPE's in here. Don't let it confuse you # too much, it's not all that complex. ) #********************************************************************** # # Personalizations # ifelse(TWM_TYPE, vtwm, ` VirtualDesktop "200x200+10+10" 20 PanDistanceX 100 PanDistanceY 100') ifelse(TWM_TYPE, tvtwm, ` VirtualDesktop "eval(WIDTH*3)`x'eval(HEIGHT*3)" ifelse(PLANES, 1, `Pixmaps { VirtualDesktopBackgroundPixmap "/home/elves/lib/rasters/sanfrancisco.rast" PannerBackgroundPixmap "/home/elves/lib/rasters/space2.xbm" }', `ifelse(HEIGHT, 1024, `Pixmaps { VirtualDesktopBackgroundPixmap "HOME/images/backgrounds/foxtail_pine.rast.Z" PannerBackgroundPixmap "HOME/images/backgrounds/foxtail_pine.xpm" }', `Pixmaps { VirtualDesktopBackgroundPixmap "HOME/images/backgrounds/b17_50" PannerBackgroundPixmap "space2.xpm" }')') PannerGeometry "+10+10" PannerScale 10 PannerState "normal" # StayUpMenus ShowVirtualNames VirtualFont "-adobe-helvetica-medium-r-*-*-8-*-*-*-*-*-*-*"') TitleFont "-adobe-times-bold-r-normal--17-120-*-*-p-*-*-*" TitleButtonBorderWidth 1 ifelse(TWM_TYPE, vtwm, ` NailedDown { "Virtual Desktop" "TWM Icon Manager" "xbiff" "oclock" "Xman" "Perfmeter" "Contool" "kerberometer" }', TWM_TYPE, tvtwm, ` Sticky { "Virtual Desktop" "xbiff" "oclock" "Xman" "Contool" "kerberometer" }') # # Copied System Defaults # ResizeFont "-bitstream-charter-medium-i-*-*-15-*-*-*-*-*-*-*" IconFont "-b&h-lucida-medium-i-normal-sans-10-*-*-*-*-*-*-*" MenuFont "-adobe-new century schoolbook-*-i-*-*-14-*-*-*-*-*-*-*" IconManagerFont "-bitstream-charter-medium-i-normal--14-*-*-*-*-*-*-*" #WarpCursor #NoTitleFocus, this would fix race conds with slow systems misdirecting keys # after a pointer is moved. NoGrabServer RandomPlacement #DecorateTransients #BorderWidth 2 UsePPosition "non-zero" RestartPreviousState #OpaqueMove NoCaseSensitive MaxWindowSize "15000x15000" # Number of zoom boxes. Zoom 20 Cursors { Menu "right_ptr" # twm's Defaults... # Button "hand2" # Destroy "pirate" # Frame "top_left_arrow" # Icon "top_left_arrow" # IconMgr "top_left_arrow" # Menu "sb_left_arrow" # Move "fleur" # Resize "fleur" # Select "dot" # Title "top_left_arrow" # Wait "watch" } NoTitle { "dclock" "xbiff" "xmail" "oclock" "xconsole" "Contool 3.0" "TWM Icon Manager" "xeyes" "kerberometer" } # This keeps border static when your mouse enters the window NoHighlight { "dclock" "oclock" "xclock" "xbiff" "xnetload" "kerberometer" } ifelse(TWM_TYPE, tvtwm, ` NoIconTitle { "XRn" }') AutoRaise { "nothing" # I hate auto-raise more then I hate even Ed } Pixmaps { # Some of these might be neet, but diag is the best! # TitleHighlight "cross_weave" ifelse(TWM_TYPE, tvtwm, ` TitleHighlightLeft "xlogo16" TitleHighlightRight "boxes"') TitleHighlight "diag" } ## Functions... ## These will only move window/icon if mouse is moved, else it will raise/lower MoveDelta 3 Function "move-or-lower" { f.move f.deltastop f.lower } Function "move-or-raise" { f.move f.deltastop f.raise } Function "flash" { f.iconify f.iconify } Function "killer" { f.exec "xkill -all -button none" f.quit } LeftTitleButton "destroy.btn" = f.menu "Kill" RightTitleButton "focus.btn" = f.menu "Zoom" #Try only take Meta-Mouse buttons from applications, and take the Lkeys too, #because the windows can still use Fkeys & Rkeys... #(Warning: any key used in :all: or :window: can't be used in any X window!!!) #(well, except as what you defined it as *SIGH*) # Button1 starts programs that run in a window, Button2 deals with existing # windows and does other "Window Manager" type stuff, Button3 is for logins # The L-keys are mostly set to do what they do in SunView. #Button = KEYS : CONTEXT : FUNCTION #---------------------------------- Button1 = : root : f.menu "Main" Button2 = : root : f.menu "TWM Ops" Button3 = : root : f.menu "logins" Button1 = m : window : f.menu "Main" Button2 = m : window : f.menu "Window Ops" Button3 = m : window : f.menu "TWM Ops" Button1 = m : title : f.menu "Main" Button2 = m : title : f.menu "TWM Ops" Button3 = m : title : f.menu "refresh" Button1 = : title : f.function "move-or-raise" Button2 = : title : f.function "move-or-raise" Button3 = : title : f.function "move-or-lower" Button1 = : frame : f.function "move-or-raise" Button3 = : frame : f.resize Button1 = m : root : f.menu "TwmWindows" Button2 = m : root : f.circleup Button3 = m : root : f.circledown Button1 = s|c : root : f.twmrc Button1 = : icon : f.iconify Button2 = : icon : f.function "move-or-raise" Button3 = : icon : f.function "move-or-lower" "L1" = : all : f.warptoscreen "next" #"L2" = : window : f.winrefresh #"L2" = : icon : f.function "flash" #"L3" = : window : f.leftzoom #"L4" = : window : f.rightzoom "L5" = : window : f.raiselower #"L6" = : window : f.fullzoom # L8 = Paste in Xterm. #"L9" = : window : f.topzoom #"L10" = : window : f.bottomzoom # Help should be bound to some sort of help thing "L2" = : root : f.exec "xlock &" # L3 & L4 are for Next/Prev window, but I donno how to do it yet... # "L5" = : root : Pigs_R_Him() # "L6" = : root : C_Shell() # "L7" = : root : Vanilla_d() # "L8" = : root : Chocolate_d() # "L9" = : root : Scrolling_d() # "L10" = : root : Tek_Window() ifelse(TWM_TYPE, vtwm, ` "Left" = m : all : f.panleft "Right" = m : all : f.panright "Up" = m : all : f.panup "Down" = m : all : f.pandown', TWM_TYPE, tvtwm, ` "Left" = m : all : f.panleft "Right" = m : all : f.panright "Up" = m : all : f.panup "Down" = m : all : f.pandown') ifelse(TWM_TYPE, vtwm, ` "Left" = : virtual|root : f.panleft "Right" = : virtual|root : f.panright "Up" = : virtual|root : f.panup "Down" = : virtual|root : f.pandown', TWM_TYPE, tvtwm, ` "Left" = : root : f.panleft "Right" = : root : f.panright "Up" = : root : f.panup "Down" = : root : f.pandown') "F2" = : all : f.refresh "L7" = : w|t|i : f.iconify "R1" = : all : f.warpto "Login" "R2" = : all : f.warpto "xrn" "R3" = : all : f.warpto "xmail" "R5" = : all : f.warpto "Talk" "R6" = : all : f.warpto "xtank" # If you want to change anything controled by these files copy them someplace # you can change them, and change the names used in here. The files you don't # copy can be changed by us to reflect changes to the system (i.e. when we add # a new machene you can log into we will also add it to the login menu for you) include(HOME/.twmicons) include(HOME/.twmcolors) include(/local/skel/X/twm-login) include(HOME/.twmmain) menu "TWM Ops" { "TWM Ops" ColTWMTop() f.title "Windows" f.menu "Window Ops" "Refresh" f.refresh "Source .twmrc" f.twmrc "xrdb" f.exec "xrdb -load .Xdefaults &" "Cut File" f.cutfile "twm Version" f.version "Icon Manager" f.title "Show Icon Mgr" f.showiconmgr "Hide Icon Mgr" f.hideiconmgr "Mr. Death" f.title "ICCCM Delete" f.delete "Destroy Window" f.destroy # "Exit TWM" ColTWMBot() f.function "killer" "Exit TWM" ColTWMBot() f.quit } menu "Window Ops" { "Window Ops" ColWinTop() f.title "Move" f.move "Focus on Root" f.unfocus "Focus on Window" f.focus "(De)Iconify" f.iconify "Resize" f.resize "Raise" f.raise "Lower" f.lower "Refresh" f.winrefresh "Identify" f.identify "Zoom & Misc" ColWinBot() f.menu "Zoom" } menu "Kill" { "How to kill a window..." ColKilTop() f.title "Don't kill it" f.nop # xmh, XView, and some others listen... It would be nice if there was # a func. that did a Delete if the window supports it, and a Destroy if not. "Delete (ICCCM only)" f.delete "Destroy (last resort only)" ColKilBot() f.destroy } menu "Zoom" { "Focus, Zoom & Misc" ColZomTop() f.title "Focus Keyboard" f.focus "Unfocus Keyboard" f.unfocus "Zoom (full)" f.fullzoom "Zoom (wide)" f.horizoom "Zoom (tall)" f.zoom "Zoom (left)" f.leftzoom "Zoom (right)" f.rightzoom "Zoom (top)" f.topzoom "ColorMap default" f.colormap "default" "ColorMap next" f.colormap "next" "ColorMap prev" f.colormap "prev" "Save Yo' Sef'" ColZomBot() f.saveyourself }