################################################################# # # The "Giles Theme" for CTWM # ################################################################# # I use two monitors vertically for one screen, so the broad # (120 pixels) I block at the top are okay for me. # This line is expected in .xinitrc: # oclock -bg DarkSlateBlue -noshape -geometry 100x120+600+0 & # OR # oclock -bw 0 -bd "#16164cw" -fg white -transparent -geometry 100x121+600+0 & # I also set in ~/.Xdefaults: # rxvt*background: #16164c # the same as the background of the middle WorkSpace. # Screen resolution of 1024x768 ################################################ # Main Configuration Stuff ################################################ NoGrabServer RestartPreviousState DecorateTransients SloppyFocus # This is mentioned in the ChangeLog but not the Manual. # Unfortunately, I don't like the way it behaves, so "Sloppy" it is. #ClickToFocus #CenterFeedbackWindow AutoFocusToTransients OpaqueMove OpaqueResize RaiseOnClick DontMoveOff MoveOffResistance 150 ShortAllWindowsMenus ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" Color { DefaultBackground "black" DefaultForeground "green" } # I don't like TWM's icons, so ... (just make sure you have an Icon Manager) IconifyByUnmapping RandomPlacement # I don't know what gets animated, so what does this do?: AnimationSpeed 20 # You can warp the pointer to any window in the "WindowRing" list. I'm # not aware of a way to get it to include all windows. WindowRing { "XTerm" "gvim" "Netscape" } ################################################ # Work Space Manager ################################################ ShowWorkSpaceManager StartInMapState ReallyMoveInWorkspaceManager DontWarpCursorInWMap NoShowOccupyAll UseThreeDWMap # Not necessary with pixmap BGs, but good with similar colours: ReverseCurrentWorkspace # 6x1 grid, oclock, then icon manager (3 wide): WorkSpaceManagerGeometry "600x120+0+0" 6 IconManagerGeometry "324+700+0" 3 # Give us 120 pixels at the top unusable by "ordinary" windows: BorderTop 120 # See the section in the ctwm man page on "WorkSpaces" WorkSpaces { ####################################### # Voronoi-based xpm backgrounds: ####################################### ##"Root" {"DarkSlateBlue" "#e77549" "DarkSlateBlue" "SlateGrey" "xpm:/home/giles/.ctwm/giles/RootBG.xpm"} #"Root" {"DarkSlateBlue" "#e77549" "DarkSlateBlue" "SlateGrey" "xpm:/home/giles/.ctwm/giles/bg-root.xpm"} #"Net" {"DarkSlateBlue" "#51aef7" "DarkSlateBlue" "SlateGrey" "xpm:/home/giles/.ctwm/giles/bg-net2.xpm"} #"Jobs" {"DarkSlateBlue" "#957561" "DarkSlateBlue" "SlateGrey" "xpm:/home/giles/.ctwm/giles/bg-jobs.xpm"} #"Music" {"DarkSlateBlue" "#617586" "DarkSlateBlue" "SlateGrey" "xpm:/home/giles/.ctwm/giles/bg-music2.xpm"} #"Work" {"DarkSlateBlue" "#4982ef" "DarkSlateBlue" "SlateGrey" "xpm:/home/giles/.ctwm/giles/bg-work2.xpm"} #"Misc" {"DarkSlateBlue" "#ffe7df" "DarkSlateBlue" "SlateGrey" "xpm:/home/giles/.ctwm/giles/bg-misc.xpm"} ####################################### # Plain Blue Backgrounds: ####################################### "1" {"" "" "#00004c"} "2" {"" "" "#07074c"} "3" {"" "" "#0f0f4c"} "4" {"" "" "#16164c"} "5" {"" "" "#1e1e4c"} "6" {"" "" "#26264c"} ####################################### # Examples: ####################################### #"Net" {"#619AAE" "white" "firebrick"} # Works: #"Jobs" {"#727786" "white" "MidnightBlue" "white" "xpm:ball%.xpm"} #"Work" {"#727786" "white" "DeepSkyBlue3" "white" "plaid"} # Haven't seen this work (don't have giftoppm): #"Music" {"#727786" "white" "white" "white" "|(giftoppm | pnmtoxwd) < 2010.gif"} #"Misc" {"#619AAE" "white" "DeepSkyBlue3" "white" "xpm:background1"} # Don't work: #"Misc" {"#619AAE" "white" "DeepSkyBlue3" "white" "|(ppmquant 15 | pnmtoxwd) < /home/giles/tmp/ship20.pnm"} #"Net" {"#619AAE" "white" "|(convert /home/giles/MyDocuments/Pictures/Propaganda/Official-Mechanical-Bull-1.jpg xwd:/tmp/net.xwd ; cat /tmp/net.xwd"} } ################################################ # Icons ################################################ ShowIconManager SortIconManager UseThreeDIconManagers IconManagerShadowDepth 1 IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*" IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*" IconDirectory "/usr/share/toolbar" Color { IconBackground "MediumSlateBlue" IconForeground "gray85" IconBorderColor "gray85" IconManagerBackground "#16164c" IconManagerForeground "yellow" } ################################################ # Title Bar and Buttons ################################################ UseThreeDTitles NoTitleHighlight NoDefaults # lose those annoying default buttons ... PixmapDirectory "~/.ctwm/giles" # This reduces the size of and positions the titlebar: # see the man page for details. #SqueezeTitle # optional winlist and positioning TitleFont "-schumacher-clean-medium-r-normal-*-*-140-*-*-*-*-*-*" Color { TitleBackground "#00004c" #{ # "XTerm" "SteelBlue" #} TitleForeground "yellow" } TitleButtonShadowDepth 0 TitleShadowDepth 0 TitleButtonBorderWidth 0 TitlePadding 0 # frame around TBobjects? ButtonIndent 0 # indentated TBbuttons? FramePadding 2 # frame around TB? #LeftTitleButton ":xpm:dot" = f.iconify LeftTitleButton "/home/giles/.ctwm/giles/winlist.xbm" = f.menu "TwmWindows" LeftTitleButton "/home/giles/.ctwm/giles/shade.xbm" = f.squeeze RightTitleButton "/home/giles/.ctwm/giles/minimize.xbm" = f.iconify RightTitleButton "/home/giles/.ctwm/giles/maxHoriz.xbm" = f.horizoom RightTitleButton "/home/giles/.ctwm/giles/bottomZoom.xbm" = f.bottomzoom RightTitleButton "/home/giles/.ctwm/giles/topZoom.xbm" = f.topzoom RightTitleButton "/home/giles/.ctwm/giles/cross.xbm" = f.delete ################################################ # Programs that get Special Treatment ################################################ # For AutoRaise to work, the names you give it must be exact matches # for WM_NAME or WM_CLASS, which can be determined with the "xprop" command. AutoRaise { "TWM Icon Manager" } NoTitle { "TWM Icon Manager" } AutoRaise { "WorkSpaceManager" } NoTitle { "WorkSpaceManager" } NoTitle { "ROX-Filer" } OccupyAll { "ROX-Filer" } NoTitle { "oclock" } OccupyAll { "oclock" } IconManagerDontShow { "oclock" } NoTitle { "xmms*" } # Could be annoying - but I guess that's the point: OccupyAll { "XWrits" } # Without the following, the GIMP crashes on a restart - this works # sometimes, not sure if I need to name all the windows it can spawn: DontSetInactive { "The GIMP" "Gimp" "gimp" "GIMP" "Brush Selection" "Layers, Channels & Paths" "Filters" } #StartSqueezed # start these in squeezed state #{ #} ################################################ # Borders etc. ################################################ # BorderWidth 2 is the default. BorderWidth 2 ThreeDBorderWidth 2 BorderResizeCursors UseThreeDBorders BorderShadowDepth 1 Color { BorderColor "#14a05f" # optional windowlist BorderTileBackground "Black" BorderTileForeground "Red" # meaningless w/ 3D? #BorderColor "MidnightBlue" } NoBorder { "TWM Icon Manager" "WorkSpaceManager" "oclock" "xclock" } ################################################ # Mouse Button Functions ################################################ # Define some useful functions for motion-based actions. MoveDelta 3 Function "move-or-lower" { f.move f.deltastop f.lower } Function "move-or-raise" { f.move f.deltastop f.raise } Function "move-or-iconify" { f.move f.deltastop f.iconify } # BUTTONS : CONTEXT : FUNCTION Button1 = : root : f.menu "Main" Button2 = : root : f.menu "defops" Button3 = : root : f.menu "quickMenu" # Finally, resize by pulling edges (use with "BorderResizeCursors") #Button1 = : frame : f.function "raise-and-resize" Button1 = : frame : f.resize Button1 = m : window|icon : f.function "move-or-lower" Button2 = m : window|icon : f.iconify Button3 = m : window|icon : f.function "move-or-raise" Button1 = : title : f.function "move-or-raise" Button2 = : title : f.raiselower Button3 = : title|frame : f.menu "TitleMenu" Button1 = : icon : f.function "move-or-iconify" Button2 = : icon : f.iconify Button1 = : iconmgr : f.iconify Button2 = : iconmgr : f.iconify ################################################ # Menus ################################################ UseThreeDMenus MenuShadowDepth 1 InterpolateMenuColors MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" Color { MenuBackground "DarkSlateBlue" MenuForeground "gray85" MenuTitleBackground "yellow" MenuTitleForeground "DarkSlateBlue" } menu "quickMenu" { "Quick Menu" f.title "rxvt" f.exec "rxvt &" "The GIMP" f.exec "gimp &" "Konqueror" f.exec "konqueror &" "Pin" f.pin } menu "Main" { "CTWM" f.title "rxvt" f.exec "rxvt &" "Applications" f.menu "Applications" "Internet" f.menu "Internet" "Terminals" f.menu "Terminals" "TWM Functions" f.menu "defops" # This is on the title bar of all windows and I don't use it anyway: #"Window List" f.menu "TwmWindows" "Test Menu" f.menu "testmenu" "Pin" f.pin } # Menu of (mostly) TWM Operations menu "defops" { "Window Functions" f.title "Edit .ctwmrc" f.exec "gvim /home/giles/.ctwmrc &" #"Iconify" f.iconify #"Resize" f.resize #"Move" f.move #"Raise" f.raise #"Lower" f.lower "" f.nop #"Focus" f.focus #"Unfocus" f.unfocus "Restart" f.restart "" f.nop "Show Iconmgr" f.showiconmgr "Hide Iconmgr" f.hideiconmgr "Toggle wmgr state" f.togglestate "Toggle wmgr" f.toggleworkspacemgr "" f.nop "Info" f.identify # This doesn't work: "xprop" f.exec "rxvt -e xprop && sleep 5 &" "" f.nop "Kill" f.destroy "Delete" f.delete " ----- " f.nop "Exit" f.quit } # Test Menu - colourful but no actual functions Menu "testmenu" { "Title" ("black":"red") f.title "entry1" f.nop "entry2" f.nop "entry3" ("white":"green") f.nop "entry4" f.nop "entry5" ("red":"white") f.nop "entry6" f.menu "test" } Menu "Applications" { "Applications" f.title "Graphics" f.menu "Graphics" "Editors" f.menu "Editors" "Sound" f.menu "Sound" "Office Stuff" f.menu "Office" "Utilities" f.menu "Utilities" } Menu "Utilities" { "Utilities" f.title "Colour Selector" f.exec "gcolorsel /usr/X11R6/lib/X11/rgb.txt &" "Calculator" f.exec "xcalc &" } Menu "Terminals" { "Terminals" f.title "Dan Prompt" f.exec "rxvt -e bash --rcfile /home/giles/.bashprompt/bashrc/bashrcdan &" "Rxvt" f.exec "rxvt -bg black -fg white -cr green -C -fn 9x15 -ls -sl 500 &" "Eterm VGA" f.exec "Eterm --font vga11x19 --font1 sabvga --font2 vga --font3 kates --font4 goth8x15 --scrollbar-floating --background-pixmap /home/giles/MyDocuments/Pictures/Backgrounds/Hiscore2.jpg &" "8x16" f.exec "rxvt -fn 8x16 &" "10x20" f.exec "xterm -fn 10x20 -bg black -fg white -ls -sb -sl 500 &" "12x24" f.exec "xterm -fn 12x24 -bg black -fg white -ls -sb -sl 500 &" "Kates" f.exec "xterm -fn kates -bg black -fg white -ls -sb -sl 500 &" "FKP" f.exec "xterm -fn fkp -bg black -fg white -ls -sb -sl 500 &" "Large VGA" f.exec "xterm -fn vga11x19 -bg black -fg white -ls -sb -sl 500 &" "VGA" f.exec "xterm -fn vga -bg black -fg white -ls -sb -sl 500 &" "Small VGA" f.exec "xterm -fn sabvga -bg black -fg white -ls -sb -sl 500 &" "Gnome Term" f.exec "gnome-terminal --login &" } Menu "Sound" { "Sound" f.title "xmms" f.exec "xmms &" "XPlayCD" f.exec "xplaycd &" "grip" f.exec "grip &" "AutoZen" f.exec "/usr/local/autozen-1.2/autozen &" } Menu "Graphics" { "Graphics" f.title "The GIMP" f.exec "gimp &" "XV" f.exec "xv -vsmap &" "Max XV" f.exec "xv -vsmap -maxpect &" "XV Docs (PS)" f.exec "gv /usr/share/doc/xv-docs-3.10a/xvdocs.ps &" "XPaint" f.exec "xpaint &" } Menu "Internet" { "Internet" f.title "Netscape" f.exec "netscape &" "Konqueror" f.exec "konqueror &" "Lynx" f.exec "xterm -e lynx &" " -----" f.nop "Downloader for X" f.exec "/usr/bin/nt &" "lftp" f.exec "rxvt -name NcFTP -T NcFTP -ls -fn 8x13 -bg wheat -fg black -e lftp &" "plain ftp" f.exec "xterm -name FTP -T FTP -ls -fn 8x13 -bg black -fg wheat -e ftp &" "passive ftp" f.exec "xterm -name FTP -T FTP -ls -fn 8x13 -bg black -fg wheat -e \"ftp -p\" &" "NCftp" f.exec "rxvt -name NcFTP -T NcFTP -ls -fn 8x13 -bg wheat -fg black -e ncftp &" "gftp" f.exec "gftp &" "wxftp" f.exec "wxftp &" " -----" f.nop "Pine" f.exec "rxvt -name Mail -T Pine -ls -fn 10x20 -e pine -i &" "Fetch Interlog Mail" f.exec "xterm xterm -name \"Expecting Mail?\" -fn 6x10 -geom 80x15 +sb -e /home/giles/bin/egetmail &" "Load dnet" f.exec "rxvt -name \"Load dnet\" -fn 8x13 -e /home/giles/dnet/dnetc -update &" " -----" f.nop "Connect to Accucomm" f.exec "accucomm-up &" "Disconnect Accucomm" f.exec "accucomm-down &" } menu "Office" { "AbiWord" f.exec "abiword &" "Ted" f.exec "Ted &" "Dia" f.exec "dia &" "Gnumeric" f.exec "gnumeric &" } menu "TitleMenu" { "Title Menu" f.title "Iconify" f.iconify "Move" f.move "Raise" f.raise "Lower" f.lower "Zoom" f.menu "Zoom" "" f.separator "Occupy all" f.occupyall "Unoccupy" f.occupy "" f.separator "Delete" f.delete "Destroy" f.destroy } menu "Zoom" { "Full" f.fullzoom "Horizontal" f.horizoom "Vertical" f.zoom "Left" f.leftzoom "Top" f.topzoom "Right" f.rightzoom "Bottom" f.bottomzoom } ################################################ # Keyboard ################################################ "F1" = : all : f.warptoiconmgr "" "F2" = : all : f.warpring "next" "F3" = : all : f.warpring "prev" "F4" = : all : f.raiselower "F5" = : all : f.raise "F9" = : all : f.twmrc # The restart key! "F10" = : all : f.warptoscreen "next" "F12" = : all : f.iconify "F1" = m : all : f.gotoworkspace "Root" "F2" = m : all : f.gotoworkspace "Net" "F3" = m : all : f.gotoworkspace "Jobs" "F4" = m : all : f.gotoworkspace "Music" "F5" = m : all : f.gotoworkspace "Work" "F6" = m : all : f.gotoworkspace "Misc" # Control left-and-right arrow keys cycle workspaces: "Right" = c : all : f.rightworkspace "Left" = c : all : f.leftworkspace