123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449 |
- #
- # $NetBSD: system.ctwmrc,v 1.1.2.3 2021/03/09 15:44:50 martin Exp $
- #
- # ctwmrc by nia
- #
- # An attempt to strike a usability balance that makes keys and buttons
- # do the thing users of various operating systems expect them to do.
- #
- # Most things should be possible to accomplish with only the keyboard.
- #
- # Also, mostly inoffensive colours (avoiding potentially inaccessible
- # combinations like red-green).
- #
- # don't use the default buttons or key bindings, we define our own
- NoDefaults
- ShowWorkSpaceManager
- ShowIconManager
- # 3D icon managers do not seemingly honor IconManagerHighlight,
- # which makes them slightly less useful
- #UseThreeDIconManagers
- #UseThreeDWMap
- UseThreeDBorders
- #UseThreeDMenus
- UseThreeDTitles
- ThreeDBorderWidth 3
- # TODO: we can use syscmd() in combination with xdpyinfo to detect
- # HiDPI screens and set appropiate fonts.
- #
- # need some good scaled bitmap fonts imported - terminus or spleen
- # would be good candidates
- MenuFont "-misc-fixed-medium-r-*-*-14-*-*-*-*-*-*-*"
- TitleFont "-misc-fixed-bold-r-*-*-18-*-*-*-*-*-*-*"
- IconManagerFont "-misc-fixed-medium-r-*-*-14-*-*-*-*-*-*-*"
- IconFont "-misc-fixed-bold-r-*-*-18-*-*-*-*-*-*-*"
- ResizeFont "-misc-fixed-medium-r-*-*-18-*-*-*-*-*-*-*"
- WorkSpaceFont "-misc-fixed-medium-r-*-*-14-*-*-*-*-*-*-*"
- RestartPreviousState
- DecorateTransients
- # hide window contents while altering windows for performance
- NoOpaqueMove
- NoOpaqueResize
- AutoOccupy
- AutoRelativeResize
- CenterFeedbackWindow
- NoGrabServer
- RaiseOnClick
- DontMoveOff
- MoveOffResistance 150
- ConstrainedMoveTime 0
- IgnoreLockModifier
- # Not actually that random.
- # Means that windows do not have to be placed by hand with a mouse,
- # which helps if you are using a keyboard only.
- RandomPlacement "all"
- MoveDelta 3
- ClearShadowContrast 40
- DarkShadowContrast 60
- MovePackResistance 100
- RaiseWhenAutoUnSqueeze
- ShortAllWindowsMenus
- #BeNiceToColorMap
- NoStackMode
- StayUpMenus
- WarpToDefaultMenuEntry
- MenuShadowDepth 1
- #TitleFocus
- # warp through all windows in the current workspace
- WindowRing
- WarpRingOnScreen
- NoTitleHighlight
- TitleButtonShadowDepth 1
- TitleShadowDepth 1
- TitleButtonBorderWidth 0
- TitlePadding 0
- TitleJustification "left"
- ButtonIndent 0
- FramePadding 0
- LeftTitleButton ":xpm:dot" = f.menu "titleops"
- RightTitleButton ":xpm:resize" = f.resize
- RightTitleButton ":xpm:cross" = f.delete
- BorderWidth 4
- BorderShadowDepth 2
- BorderResizeCursors
- MaxIconTitleWidth 120
- NoIconManagerFocus
- IconManagerShadowDepth 1
- IconManagerGeometry "700x14+3-1" 7
- #IconManagerGeometry "200x-1-1+0" 1
- IconifyByUnmapping
- ReallyMoveInWorkspaceManager
- MapWindowCurrentWorkSpace { "black" "firebrick" }
- DontToggleWorkSpaceManagerState
- DontWarpCursorInWMap
- NoShowOccupyAll
- ReverseCurrentWorkspace
- StartInMapState
- WMgrHorizButtonIndent 0
- WMgrVertButtonIndent 0
- WorkSpaceManagerGeometry "190x22+852+745" 4
- #WorkSpaceManagerGeometry "60x240-1-1" 1
- NoWarpToMenuTitle
- WarpCursor
- WorkSpaces
- {
- "1" { "lavender" "black" "darkslateblue" "white" }
- "2" { "lavender" "black" "darkslateblue" "white" }
- "3" { "lavender" "black" "darkslateblue" "white" }
- "4" { "lavender" "black" "darkslateblue" "white" }
- # "5" { "lavender" "black" "darkslateblue" "white" }
- }
- Cursors
- {
- Frame "left_ptr"
- Title "left_ptr"
- Icon "left_ptr"
- IconMgr "left_ptr"
- Move "fleur"
- Resize "fleur"
- Menu "left_ptr"
- Button "hand2"
- Wait "watch"
- Select "dot"
- Destroy "pirate"
- }
- Color
- {
- BorderColor "firebrick"
- BorderTileBackground "steelblue"
- BorderTileForeground "steelblue"
- DefaultBackground "grey70"
- DefaultForeground "black"
- TitleBackground "lavender"
- TitleForeground "black"
- MenuBackground "lavender"
- MenuForeground "black"
- MenuTitleBackground "darkorange"
- MenuTitleForeground "black"
- MenuShadowColor "gray15"
- IconBackground "black"
- IconForeground "white"
- IconBorderColor "gray45"
- IconManagerBackground "lavender"
- IconManagerForeground "black"
- IconManagerHighlight "firebrick"
- MapWindowBackground "lavender"
- MapWindowForeground "black"
- }
- Monochrome
- {
- BorderColor "black"
- BorderTileForeground "black"
- BorderTileBackground "white"
- TitleForeground "black"
- TitleBackground "white"
- MenuForeground "black"
- MenuBackground "white"
- MenuTitleForeground "black"
- MenuTitleBackground "white"
- MapWindowForeground "white"
- MapWindowBackground "white"
- }
- syscmd(/usr/X11R7/libexec/ctwm_app_menu)
- menu "appmenu"
- {
- "pkgsrc Applications" f.title
- " accessories" f.menu "Accessories"
- " games" f.menu "Games"
- " graphics" f.menu "Graphics"
- " internet" f.menu "Internet"
- " multimedia" f.menu "Multimedia"
- " office" f.menu "Office"
- " programming" f.menu "Programming"
- " system" f.menu "System"
- " Mmisc" f.menu "Misc"
- }
- menu "NetBSD"
- {
- "NetBSD" f.title
- "" f.separator
- " badwolf" !"badwolf &"
- " passmenu" !"passmenu --type &"
- " xlock" !"xlock -mode star -trek 1000 &"
- " uxterm" !"uxterm &"
- " ait" !"uxterm -e ait &"
- " calculator" !"xcalc &"
- # " Clock" !"xclock -digital &"
- # " XEyes" !"xeyes &"
- "" f.separator
- " applications" f.menu "appmenu"
- "" f.separator
- " restart CTWM" f.twmrc
- " quit" f.quit
- }
- menu "titleops"
- {
- "Window" f.title
- "" f.separator
- " Iconify" f.iconify
- " Resize" f.resize
- " Move" f.move
- "" f.separator
- " Occupy ..." f.occupy
- " Occupy All" f.occupyall
- "" f.separator
- " Raise" f.raise
- " Lower" f.lower
- "" f.separator
- " Zoom" f.fullzoom
- " Zoom-V" f.zoom
- " Zoom-H" f.horizoom
- "" f.separator
- " Kill" f.destroy
- " Close" f.delete
- }
- IconManagerDontShow
- {
- "xclock"
- "wmbattery"
- "wmmixer"
- "wmnd"
- "xload"
- }
- OccupyAll
- {
- "xclock"
- "wmbattery"
- "wmmixer"
- "wmnd"
- "xload"
- }
- AlwaysOnTop
- {
- # "xclock"
- "wmbattery"
- }
- NoTitle
- {
- "TWM Icon Manager"
- "WorkSpaceManager"
- "wmbattery"
- "wmmixer"
- "wmnd"
- "xload"
- "xclock"
- }
- WindowRingExclude
- {
- "TWM Icon Manager"
- "WorkSpaceManager"
- "xclock"
- "xsm"
- "xconsole"
- "wmbattery"
- "wmmixer"
- "wmnd"
- "xload"
- }
- StartIconified
- {
- }
- NoBorder
- {
- "TWM Icon Manager"
- "WorkSpaceManager"
- "wmbattery"
- "wmmixer"
- "wmnd"
- "xload"
- "xclock"
- }
- Function "raise-move" { f.raise f.deltastop f.forcemove }
- Function "raise-and-resize" { f.raise f.deltastop f.resize }
- # These are basically essential for basic functionality.
- Button1 = : title : f.function "raise-move"
- Button2 = : title : f.function "raise-and-resize"
- Button3 = : title | frame : f.menu "titleops"
- Button1 = : frame : f.function "raise-and-resize"
- Button1 = : icon | iconmgr : f.iconify
- Button2 = : icon : f.move
- Button3 = : icon | iconmgr : f.raiselower
- Button1 = : root : f.menu "NetBSD"
- Button2 = : root : f.menu "TwmAllWindows"
- Button3 = : root : f.menu "NetBSD"
- #
- # Mod1 is the "Alt/Meta" key.
- # Mod4 is the "OS" key.
- #
- Button1 = mod1 : window : f.forcemove
- Button1 = mod4 : window : f.forcemove
- Button3 = mod1 : window : f.resize
- Button3 = mod4 : window : f.resize
- Button1 = mod4 | s : window : f.resize
- "Up" = mod4 : all : f.upworkspace
- "Down" = mod4 : all : f.downworkspace
- "Left" = mod4 : all : f.prevworkspace
- "Right" = mod4 : all : f.nextworkspace
- "Up" = mod1 | control : all : f.upworkspace
- "Down" = mod1 | control : all : f.downworkspace
- "Left" = mod1 | control : all : f.prevworkspace
- "Right" = mod1 | control : all : f.nextworkspace
- "1" = mod1 | control : all : f.gotoworkspace "1"
- "2" = mod1 | control : all : f.gotoworkspace "2"
- "3" = mod1 | control : all : f.gotoworkspace "3"
- "4" = mod1 | control : all : f.gotoworkspace "4"
- "5" = mod1 | control : all : f.gotoworkspace "5"
- "6" = mod1 | control : all : f.gotoworkspace "6"
- "7" = mod1 | control : all : f.gotoworkspace "7"
- "8" = mod1 | control : all : f.gotoworkspace "8"
- "9" = mod1 | control : all : f.gotoworkspace "9"
- "1" = mod4 : all : f.gotoworkspace "1"
- "2" = mod4 : all : f.gotoworkspace "2"
- "3" = mod4 : all : f.gotoworkspace "3"
- "4" = mod4 : all : f.gotoworkspace "4"
- "5" = mod4 : all : f.gotoworkspace "5"
- "6" = mod4 : all : f.gotoworkspace "6"
- "7" = mod4 : all : f.gotoworkspace "7"
- "8" = mod4 : all : f.gotoworkspace "8"
- "9" = mod4 : all : f.gotoworkspace "9"
- "XF86AudioRaiseVolume" = : all : !"mixerctl -w outputs.master+=5"
- "XF86AudioLowerVolume" = : all : !"mixerctl -w outputs.master-=5"
- "XF86AudioMute" = : all : !"mixerctl -w outputs.master=0"
- #
- # "Windows" style keyboard shortcuts
- #
- "Tab" = mod4 : all : f.warpring "next"
- "Tab" = mod4 | s : all : f.warpring "prev"
- "space" = mod4 | s : window : f.menu "titleops"
- "F4" = mod4 : window : f.delete
- #
- # "Mac" style keyboard shortcuts
- #
- "w" = mod4 : window : f.delete
- "m" = mod4 : window : f.iconify
- #
- # "evilwm" style keyboard shortcuts
- #
- "Return" = mod4 | s : all : !"uxterm &"
- "space" = mod4 : all : !"dmenu_run &"
- # TODO: Fix tihs
- # "XF86Eject" = : all : !"sh ~/bin/rotate-screen inverted"
- "i" = mod4 | s : all : !"sh ~/bin/rotate-screen inverted"
- "XF86RotateWindows" = : all : !"sh ~/bin/rotate-screen right"
- # s for screensaver
- "s" = mod4 | s : all : !"xlock -mode star -trek 1000 &"
- "slash" = mod4 : all : f.menu "TwmAllWindows"
- "p" = mod4 : all : f.menu "NetBSD"
- "Menu" = mod1 : all : f.menu "NetBSD"
- "Menu" = mod4 : all : f.menu "NetBSD"
- Function "top-left-corner" { f.topzoom f.changesize "960x540" }
- Function "top-right-corner" { f.rightzoom f.changesize "960x540" }
- Function "bottom-left-corner" { f.bottomzoom f.changesize "960x540" }
- Function "bottom-right-corner" { f.bottomzoom f.changesize "960x540" f.jumpright "1000000" }
- # vi-style directions
- "j" = mod4 : window : f.jumpdown "10"
- "k" = mod4 : window : f.jumpup "10"
- "h" = mod4 : window : f.jumpleft "10"
- "l" = mod4 : window : f.jumpright "10"
- "f" = mod4 | s : window : f.fullzoom
- "j" = mod4 | s : window : f.bottomzoom
- "k" = mod4 | s : window : f.topzoom
- "h" = mod4 | s : window : f.leftzoom
- "l" = mod4 | s : window : f.rightzoom
- "y" = mod4 | s : window : f.function "top-left-corner"
- "u" = mod4 | s : window : f.function "top-right-corner"
- "b" = mod4 | s : window : f.function "bottom-left-corner"
- "n" = mod4 | s : window : f.function "bottom-right-corner"
|