head 1.20; access; symbols netbsd-10-2-RELEASE:1.19 netbsd-9-5-RELEASE:1.1.2.3 netbsd-11-0-RELEASE:1.20 netbsd-11-0-RC7:1.20 netbsd-11-0-RC6:1.20 netbsd-11-0-RC5:1.20 netbsd-11-0-RC4:1.20 netbsd-11-0-RC3:1.20 netbsd-11-0-RC2:1.20 netbsd-11-0-RC1:1.20 perseant-exfatfs-base-20250801:1.20 netbsd-11:1.20.0.4 netbsd-11-base:1.20 netbsd-10-1-RELEASE:1.19 perseant-exfatfs-base-20240630:1.20 perseant-exfatfs:1.20.0.2 perseant-exfatfs-base:1.20 netbsd-9-4-RELEASE:1.1.2.3 netbsd-10-0-RELEASE:1.19 netbsd-10-0-RC6:1.19 netbsd-10-0-RC5:1.19 netbsd-10-0-RC4:1.19 netbsd-10-0-RC3:1.19 netbsd-10-0-RC2:1.19 netbsd-10-0-RC1:1.19 netbsd-10:1.19.0.2 netbsd-10-base:1.19 netbsd-9-3-RELEASE:1.1.2.3 cjep_sun2x-base1:1.13 cjep_sun2x:1.13.0.4 cjep_sun2x-base:1.13 cjep_staticlib_x-base1:1.13 netbsd-9-2-RELEASE:1.1.2.3 cjep_staticlib_x:1.13.0.2 cjep_staticlib_x-base:1.13 netbsd-9-1-RELEASE:1.1.2.2 netbsd-9:1.1.0.2; locks; strict; comment @# @; 1.20 date 2024.04.24.10.35.13; author nia; state Exp; branches; next 1.19; commitid qmzf2rSjMI2HSn7F; 1.19 date 2022.05.27.17.04.16; author nia; state Exp; branches; next 1.18; commitid Qi5AQcZgqoGdtIFD; 1.18 date 2022.05.16.04.52.11; author nia; state Exp; branches; next 1.17; commitid dy4ZWYsMKkKKLeED; 1.17 date 2022.05.09.15.05.18; author nia; state Exp; branches; next 1.16; commitid ui4zy29GMEoaooDD; 1.16 date 2022.05.09.07.15.25; author nia; state Exp; branches; next 1.15; commitid BYT07n7Ae4R0NlDD; 1.15 date 2022.05.08.08.20.16; author nia; state Exp; branches; next 1.14; commitid lJ5QHYK5zRMibeDD; 1.14 date 2021.12.09.07.33.24; author nia; state Exp; branches; next 1.13; commitid 5VGVPYA2RPvRJWjD; 1.13 date 2021.04.11.11.05.49; author nia; state Exp; branches; next 1.12; commitid eWvBddddJptoHROC; 1.12 date 2021.03.04.08.35.58; author nia; state Exp; branches; next 1.11; commitid ueVn8mQaRail5YJC; 1.11 date 2021.02.27.12.28.17; author nia; state Exp; branches; next 1.10; commitid GDkQEmKS4t1bxlJC; 1.10 date 2020.11.16.14.12.46; author nia; state Exp; branches; next 1.9; commitid yoyFGif5T2Xmq7wC; 1.9 date 2020.10.12.15.24.16; author nia; state Exp; branches; next 1.8; commitid idKKApbFYCELWCrC; 1.8 date 2020.10.12.11.07.24; author nia; state Exp; branches; next 1.7; commitid KkU41ZuoYV9FvBrC; 1.7 date 2020.10.11.10.12.53; author nia; state Exp; branches; next 1.6; commitid Uuf8rqQobZAPftrC; 1.6 date 2020.10.11.10.02.51; author nia; state Exp; branches; next 1.5; commitid L8Jo7gpmcGDjctrC; 1.5 date 2020.10.11.07.08.29; author nia; state Exp; branches; next 1.4; commitid FuhrKhLwAHeGesrC; 1.4 date 2020.10.10.10.36.16; author nia; state Exp; branches; next 1.3; commitid kGlf1j40ZflRplrC; 1.3 date 2020.10.10.10.33.37; author nia; state Exp; branches; next 1.2; commitid GTOXbchrOxo2plrC; 1.2 date 2020.10.10.10.28.08; author nia; state Exp; branches; next 1.1; commitid n6zyrZBcQ1fVmlrC; 1.1 date 2020.09.24.05.43.30; author nia; state Exp; branches 1.1.2.1; next ; commitid SoAR4v6EI6mjjgpC; 1.1.2.1 date 2020.09.24.05.43.30; author martin; state dead; branches; next 1.1.2.2; commitid SZELqr1712dpi7rC; 1.1.2.2 date 2020.10.08.16.04.07; author martin; state Exp; branches; next 1.1.2.3; commitid SZELqr1712dpi7rC; 1.1.2.3 date 2021.03.09.15.44.50; author martin; state Exp; branches; next ; commitid yB4LEx1tHnaSiEKC; desc @@ 1.20 log @it's netbsd-11, time for a slightly less eye-bleeding shade of orange @ text @# # $NetBSD: system.ctwmrc,v 1.19 2022/05/27 17:04:16 nia 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 DontShowWelcomeWindow ShowWorkSpaceManager ShowIconManager # 3D icon managers do not seemingly honor IconManagerHighlight, # which makes them slightly less useful #UseThreeDIconManagers #UseThreeDWMap UseThreeDBorders #UseThreeDMenus UseThreeDTitles esyscmd(`printf "define(fontsize, %d)\n" "$(/usr/X11R7/libexec/ctwm_font_size)"') ifelse(fontsize, `64', ` TitleFont "-*-spleen-*-*-*-*-64-*-*-*-*-*-*-*" MenuFont "-*-spleen-*-*-*-*-64-*-*-*-*-*-*-*" IconManagerFont "-*-spleen-*-*-*-*-64-*-*-*-*-*-*-*" IconFont "-*-spleen-*-*-*-*-64-*-*-*-*-*-*-*" ResizeFont "-*-spleen-*-*-*-*-64-*-*-*-*-*-*-*" WorkSpaceFont "-*-spleen-*-*-*-*-32-*-*-*-*-*-*-*" WorkSpaceManagerGeometry "240x960-4-4" 1 IconManagerGeometry "800x-1-1+0" 1 ThreeDBorderWidth 12 BorderWidth 12 define(setsizes, `yes') ') ifelse(fontsize, `32', ` TitleFont "-*-spleen-*-*-*-*-32-*-*-*-*-*-*-*" MenuFont "-*-spleen-*-*-*-*-32-*-*-*-*-*-*-*" IconManagerFont "-*-spleen-*-*-*-*-32-*-*-*-*-*-*-*" IconFont "-*-spleen-*-*-*-*-32-*-*-*-*-*-*-*" ResizeFont "-*-spleen-*-*-*-*-32-*-*-*-*-*-*-*" WorkSpaceFont "-*-spleen-*-*-*-*-24-*-*-*-*-*-*-*" WorkSpaceManagerGeometry "120x480-4-4" 1 IconManagerGeometry "400x-1-1+0" 1 ThreeDBorderWidth 6 BorderWidth 6 define(setsizes, `yes') ') ifelse(fontsize, `24', ` TitleFont "-*-spleen-*-*-*-*-24-*-*-*-*-*-*-*" MenuFont "-*-spleen-*-*-*-*-24-*-*-*-*-*-*-*" IconManagerFont "-*-spleen-*-*-*-*-24-*-*-*-*-*-*-*" IconFont "-*-spleen-*-*-*-*-24-*-*-*-*-*-*-*" ResizeFont "-*-spleen-*-*-*-*-24-*-*-*-*-*-*-*" WorkSpaceFont "-*-spleen-*-*-*-*-16-*-*-*-*-*-*-*" WorkSpaceManagerGeometry "90x360-4-4" 1 IconManagerGeometry "300x-1-1+0" 1 ThreeDBorderWidth 4 BorderWidth 4 define(setsizes, `yes') ') ifelse(fontsize, `12', ` TitleFont "-*-spleen-*-*-*-*-12-*-*-*-*-*-*-*" MenuFont "-*-spleen-*-*-*-*-12-*-*-*-*-*-*-*" IconManagerFont "-*-spleen-*-*-*-*-12-*-*-*-*-*-*-*" IconFont "-*-spleen-*-*-*-*-12-*-*-*-*-*-*-*" ResizeFont "-*-spleen-*-*-*-*-12-*-*-*-*-*-*-*" WorkSpaceFont "-*-spleen-*-*-*-*-8-*-*-*-*-*-*-*" WorkSpaceManagerGeometry "45x180-4-4" 1 IconManagerGeometry "150x-1-1+0" 1 ThreeDBorderWidth 1 BorderWidth 1 define(setsizes, `yes') ') # Fallback in case a valid font size was not returned. # "Default case" is 16px. ifdef(`setsizes', `', ` TitleFont "-*-spleen-*-*-*-*-16-*-*-*-*-*-*-*" MenuFont "-*-spleen-*-*-*-*-16-*-*-*-*-*-*-*" IconManagerFont "-*-spleen-*-*-*-*-16-*-*-*-*-*-*-*" IconFont "-*-spleen-*-*-*-*-16-*-*-*-*-*-*-*" ResizeFont "-*-spleen-*-*-*-*-16-*-*-*-*-*-*-*" WorkSpaceFont "-*-spleen-*-*-*-*-12-*-*-*-*-*-*-*" WorkSpaceManagerGeometry "60x240-4-4" 1 IconManagerGeometry "200x-1-1+0" 1 ThreeDBorderWidth 3 BorderWidth 3 ') RestartPreviousState DecorateTransients # allow the user to have their root window recolored as they choose DontPaintRootWindow # 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 "on" MoveDelta 3 ClearShadowContrast 40 DarkShadowContrast 60 MovePackResistance 100 RaiseWhenAutoUnSqueeze ShortAllWindowsMenus #BeNiceToColorMap NoStackMode StayUpMenus WarpToDefaultMenuEntry MenuShadowDepth 1 # 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 BorderShadowDepth 2 BorderResizeCursors MaxIconTitleWidth 120 NoIconManagerFocus IconManagerShadowDepth 1 IconifyByUnmapping ReallyMoveInWorkspaceManager MapWindowCurrentWorkSpace { "black" "firebrick" } DontToggleWorkSpaceManagerState DontWarpCursorInWMap NoShowOccupyAll ReverseCurrentWorkspace StartInMapState WMgrHorizButtonIndent 0 WMgrVertButtonIndent 0 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 "lavender" DefaultForeground "black" TitleBackground "lavender" TitleForeground "black" MenuBackground "lavender" MenuForeground "black" MenuTitleBackground "darkorange3" MenuTitleForeground "black" MenuShadowColor "gray15" IconBackground "lavender" IconForeground "black" IconBorderColor "steelblue" 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" " Misc" f.menu "Misc" } menu "deskutils" { "Desktop utilities" f.title " Calculator" !"xcalc &" " Text editor" !"xedit &" "" f.separator " XEyes" !"xeyes &" " OpenGL Gears" !"glxgears &" " Spinning cube" !"ico -sleep 0.016 -obj cube -colors darkorange &" "" f.separator " Compositor (shadows)" !"pkill xcompmgr; xcompmgr -c &" " Compositor (simple)" !"pkill xcompmgr; xcompmgr -n &" "" f.separator " Magnify" !"xmag -source 100x100 &" " Kill window" !"xkill &" } menu "termutils" { "Terminal utilities" f.title "" f.separator " VIsual Editor" !"xterm -class UXTerm -e vi &" " Tetris" !"xterm -class UXTerm -e tetris &" "" f.separator " Audio mixer" !"xterm -class UXTerm -e aiomixer &" "" f.separator " Top processes" !"xterm -class UXTerm -e top &" " I/O stats" !"xterm -class UXTerm -e 'sysstat iostat' &" " Network stats" !"xterm -class UXTerm -e 'sysstat ifstat' &" " Disk usage" !"xterm -class UXTerm -e 'sysstat df' &" } menu "NetBSD" { "NetBSD" f.title "" f.separator " Terminal" !"uxterm &" "" f.separator " Applications" f.menu "appmenu" " Desktop utilities" f.menu "deskutils" " Terminal utilities" f.menu "termutils" "" 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 { } OccupyAll { "XClock" "xsm" "xconsole" "XVidCap" } AlwaysOnTop { "XEyes" "XVidCap" } NoTitle { "TWM Icon Manager" "WorkSpaceManager" "XClock" } WindowRingExclude { "TWM Icon Manager" "WorkSpaceManager" "XClock" "xsm" "xconsole" } StartIconified { } NoBorder { } 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 "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" = mod1 : all : f.warpring "next" "Tab" = mod1 | s : all : f.warpring "prev" "Tab" = mod4 : all : f.warpring "next" "Tab" = mod4 | s : all : f.warpring "prev" "space" = mod1 : window : f.menu "titleops" "F4" = mod1 : window : f.delete # # "Mac" style keyboard shortcuts # "w" = mod4 : window : f.delete "m" = mod4 : window : f.iconify # # "evilwm" style keyboard shortcuts # # it is useful to be able to spawn a terminal without clicking. "Return" = mod1 | c : all : !"uxterm &" "Return" = mod4 | s : all : !"uxterm &" "slash" = mod1 | c : all : f.menu "TwmAllWindows" "slash" = mod4 : all : f.menu "TwmAllWindows" "p" = mod1 | c : all : f.menu "NetBSD" "p" = mod4 : all : f.menu "NetBSD" # vi-style directions "j" = mod1 | control : window : f.jumpdown "10" "k" = mod1 | control : window : f.jumpup "10" "h" = mod1 | control : window : f.jumpleft "10" "l" = mod1 | control : window : f.jumpright "10" "j" = mod4 : window : f.jumpdown "10" "k" = mod4 : window : f.jumpup "10" "h" = mod4 : window : f.jumpleft "10" "l" = mod4 : window : f.jumpright "10" "j" = mod4 | s : window : f.changesize "bottom +10" "k" = mod4 | s : window : f.changesize "bottom -10" "h" = mod4 | s : window : f.changesize "right -10" "l" = mod4 | s : window : f.changesize "right +10" "j" = mod1 | c | s : window : f.changesize "bottom +10" "k" = mod1 | c | s : window : f.changesize "bottom -10" "h" = mod1 | c | s : window : f.changesize "right -10" "l" = mod1 | c | s : window : f.changesize "right +10" @ 1.19 log @ctwmrc: Use a slightly more muted orange color. @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.18 2022/05/16 04:52:11 nia Exp $ d220 1 a220 1 DefaultBackground "grey70" d228 1 a228 1 MenuTitleBackground "darkorange2" d232 3 a234 3 IconBackground "black" IconForeground "white" IconBorderColor "gray45" @ 1.18 log @ctwmrc: Turn off sysinst menu item for now, it requires root for most functions and users likely aren't running X as root. Also turn off the xman menu item until a custom greeter screen can be imported (also note apropos is broken)... @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.17 2022/05/09 15:05:18 nia Exp $ d228 1 a228 1 MenuTitleBackground "darkorange" @ 1.17 log @ctwmrc: Split the automatically generated pkgsrc applications menu into categories similarly to MATE and Xfce. @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.16 2022/05/09 07:15:25 nia Exp $ a283 1 " Manual pages" !"LC_ALL=en_US.ISO8859-1 xman -notopbox &" a303 1 " System setup" !"xterm -class UXTerm -e sysinst &" @ 1.16 log @ctwmrc: Use ISO8859-1 for displaying manual pages in xman, because it gets us some commonly used symbols. xman doesn't grok UTF-8. @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.15 2022/05/08 08:20:16 nia Exp $ d263 16 a282 1 " Clipboard" !"xclipboard &" d284 1 d288 1 a288 1 " Icosahedron" !"ico -sleep 0.016 &" a317 1 " Manual pages" !"LC_ALL=en_US.ISO8859-1 xman -notopbox &" a326 2 syscmd(/usr/X11R7/libexec/ctwm_app_menu) @ 1.15 log @ctwmrc: make menus more fun, accomodate clock being spawned on startup @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.14 2021/12/09 07:33:24 nia Exp $ d302 1 a302 1 " Manual pages" !"LC_ALL=C xman -notopbox &" @ 1.14 log @PR misc/56541 ctwm complains about TitleFocus line in system.ctwmrc TitleFocus is the default so it's likely safe to remove, it being kept here was only left over from us previously having NoTitleFocus. @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.13 2021/04/11 11:05:49 nia Exp $ d263 34 d302 1 a302 3 " Calculator" !"xcalc &" " Clock" !"xclock -digital &" " XEyes" !"xeyes &" d305 2 a349 1 "xclock" d358 1 a375 1 "TWM Icon Manager" @ 1.13 log @ctwmrc: add DontShowWelcomeWindow, new in 4.x @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.12 2021/03/04 08:35:58 nia Exp $ a152 2 TitleFocus @ 1.12 log @ctwmrc: disable NoTitleFocus to prevent multiple windows having focus some investigation help from Rhialto @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.11 2021/02/27 12:28:17 nia Exp $ d18 2 @ 1.11 log @ctwmrc: remove SloppyFocus keyword, which breaks xev the default still seems to be sloppy focus. is this a bug? does ctwm use a different definition of sloppy focus to the rest of the world? we may never know @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.10 2020/11/16 14:12:46 nia Exp $ d151 1 a151 1 NoTitleFocus @ 1.10 log @system.ctwmrc: Set Cursors to avoid strange default fallbacks @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.9 2020/10/12 15:24:16 nia Exp $ a113 2 SloppyFocus @ 1.9 log @xclock also gets AlwaysOnTop @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.8 2020/10/12 11:07:24 nia Exp $ d200 15 @ 1.8 log @Automatic font scaling based on screen size in the default ctwm config. Based on a shell script which gets the DPI from the X server, and if this fails, attempts to guess based on resolution. Taking advantage of M4 macros in the ctwmrc, we can also scale the workspace manager and window list. The following sizes are supported: 6x12 (<800x600) 8x16 12x24 (4k and higher) 16x32 32x64 Also makes Spleen the default font in ctwm @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.7 2020/10/11 10:12:53 nia Exp $ d303 1 @ 1.7 log @slightly lower workspace manager size this works nicely on a 12.5" FHD screen @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.6 2020/10/11 10:02:51 nia Exp $ d29 70 d100 2 a101 12 # 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-*-*-*-*-*-*-*" a172 1 BorderWidth 4 a178 1 IconManagerGeometry "200x-1-1+0" 1 a189 1 WorkSpaceManagerGeometry "60x240-4-4" 1 @ 1.6 log @allow the root window to be freely painted with e.g. xsetroot it came up during initial review that it may be confusing that xsetroot doesn't work by default @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.5 2020/10/11 07:08:29 nia Exp $ d132 1 a132 1 WorkSpaceManagerGeometry "70x270-4-4" 1 @ 1.5 log @mute binding is annoying when there's hardware mute @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.4 2020/10/10 10:36:16 nia Exp $ d47 3 @ 1.4 log @xeyes should be AlwaysOnTop - requested by a user @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.3 2020/10/10 10:33:37 nia Exp $ d332 1 a332 1 "XF86AudioMute" = : all : !"mixerctl -w outputs.master=0" @ 1.3 log @Bump up the dark contrast a bit @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.2 2020/10/10 10:28:08 nia Exp $ d243 1 @ 1.2 log @Make it easier to identify the current active window (red border highlight) @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.1 2020/09/24 05:43:30 nia Exp $ d75 2 a76 2 ClearShadowContrast 50 DarkShadowContrast 50 @ 1.1 log @move the new ctwmrc here so it doesn't conflict with the upstream one @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.8 2020/09/24 05:38:16 nia Exp $ d142 1 a142 1 BorderColor "steelblue" d144 2 a145 2 BorderTileBackground "lavender" BorderTileForeground "lavender" @ 1.1.2.1 log @file system.ctwmrc was added on branch netbsd-9 on 2020-10-08 16:04:07 +0000 @ text @d1 383 @ 1.1.2.2 log @Pull up following revision(s) (requested by nia in ticket #1099): external/mit/ctwm/libexec/Makefile: revision 1.1 external/mit/ctwm/bin/ctwm/Makefile: revision 1.6 external/mit/ctwm/bin/ctwm/Makefile: revision 1.7 external/mit/ctwm/bin/ctwm/Makefile: revision 1.8 external/mit/ctwm/libexec/ctwm_app_menu: revision 1.1 distrib/sets/lists/xbase/mi: revision 1.157 external/mit/ctwm/Makefile: revision 1.2 external/mit/ctwm/Makefile: revision 1.3 external/mit/ctwm/Makefile: revision 1.4 external/mit/ctwm/Makefile: revision 1.5 external/mit/ctwm/etc/system.ctwmrc: revision 1.1 external/mit/ctwm/etc/Makefile: revision 1.1 external/mit/ctwm/etc/Makefile: revision 1.2 add a script for dynamically generating a menu in the ctwm desktop this parses the files in /usr/pkg/share/applications and provides a submenu for launching applications. TODO: make /usr/pkg configurable somehow? move the new ctwmrc here so it doesn't conflict with the upstream one revert; use system.ctwmrc from xsrc until I understand why the build fails unbreak. bsd.files.mk needs to have an includes target, see also share/wscons/fonts/Makefile @ text @a0 383 # # $NetBSD: system.ctwmrc,v 1.1 2020/09/24 05:43:30 nia 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 SloppyFocus 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 "on" MoveDelta 3 ClearShadowContrast 50 DarkShadowContrast 50 MovePackResistance 100 RaiseWhenAutoUnSqueeze ShortAllWindowsMenus #BeNiceToColorMap NoStackMode StayUpMenus WarpToDefaultMenuEntry MenuShadowDepth 1 NoTitleFocus # 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 "200x-1-1+0" 1 IconifyByUnmapping ReallyMoveInWorkspaceManager MapWindowCurrentWorkSpace { "black" "firebrick" } DontToggleWorkSpaceManagerState DontWarpCursorInWMap NoShowOccupyAll ReverseCurrentWorkspace StartInMapState WMgrHorizButtonIndent 0 WMgrVertButtonIndent 0 WorkSpaceManagerGeometry "70x270-4-4" 1 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" } } Color { BorderColor "steelblue" BorderTileBackground "lavender" BorderTileForeground "lavender" 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" } menu "NetBSD" { "NetBSD" f.title "" f.separator " Terminal" !"uxterm &" " Calculator" !"xcalc &" " Clock" !"xclock -digital &" " XEyes" !"xeyes &" "" f.separator " Applications" f.menu "appmenu" "" f.separator " Restart CTWM" f.twmrc " Quit" f.quit } syscmd(/usr/X11R7/libexec/ctwm_app_menu) 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 { } OccupyAll { "XClock" "xsm" "xconsole" "XVidCap" } AlwaysOnTop { "XVidCap" } NoTitle { "TWM Icon Manager" "WorkSpaceManager" } WindowRingExclude { "TWM Icon Manager" "WorkSpaceManager" "XClock" "xsm" "xconsole" } StartIconified { } NoBorder { "TWM Icon Manager" } 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 "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" = mod1 : all : f.warpring "next" "Tab" = mod1 | s : all : f.warpring "prev" "Tab" = mod4 : all : f.warpring "next" "Tab" = mod4 | s : all : f.warpring "prev" "space" = mod1 : window : f.menu "titleops" "F4" = mod1 : window : f.delete # # "Mac" style keyboard shortcuts # "w" = mod4 : window : f.delete "m" = mod4 : window : f.iconify # # "evilwm" style keyboard shortcuts # # it is useful to be able to spawn a terminal without clicking. "Return" = mod1 | c : all : !"uxterm &" "Return" = mod4 | s : all : !"uxterm &" "slash" = mod1 | c : all : f.menu "TwmAllWindows" "slash" = mod4 : all : f.menu "TwmAllWindows" "p" = mod1 | c : all : f.menu "NetBSD" "p" = mod4 : all : f.menu "NetBSD" # vi-style directions "j" = mod1 | control : window : f.jumpdown "10" "k" = mod1 | control : window : f.jumpup "10" "h" = mod1 | control : window : f.jumpleft "10" "l" = mod1 | control : window : f.jumpright "10" "j" = mod4 : window : f.jumpdown "10" "k" = mod4 : window : f.jumpup "10" "h" = mod4 : window : f.jumpleft "10" "l" = mod4 : window : f.jumpright "10" "j" = mod4 | s : window : f.changesize "bottom +10" "k" = mod4 | s : window : f.changesize "bottom -10" "h" = mod4 | s : window : f.changesize "right -10" "l" = mod4 | s : window : f.changesize "right +10" "j" = mod1 | c | s : window : f.changesize "bottom +10" "k" = mod1 | c | s : window : f.changesize "bottom -10" "h" = mod1 | c | s : window : f.changesize "right -10" "l" = mod1 | c | s : window : f.changesize "right +10" @ 1.1.2.3 log @Pull up following revision(s) (requested by 1227 in ticket #nia): external/mit/ctwm/etc/system.ctwmrc: revision 1.2 external/mit/ctwm/etc/system.ctwmrc: revision 1.3 external/mit/ctwm/etc/system.ctwmrc: revision 1.4 external/mit/ctwm/etc/system.ctwmrc: revision 1.5 external/mit/ctwm/etc/system.ctwmrc: revision 1.7 external/mit/ctwm/etc/system.ctwmrc: revision 1.9 external/mit/ctwm/etc/system.ctwmrc: revision 1.10 external/mit/ctwm/etc/system.ctwmrc: revision 1.11 external/mit/ctwm/etc/system.ctwmrc: revision 1.12 Make it easier to identify the current active window (red border highlight) Bump up the dark contrast a bit xeyes should be AlwaysOnTop - requested by a user mute binding is annoying when there's hardware mute slightly lower workspace manager size this works nicely on a 12.5" FHD screen xclock also gets AlwaysOnTop system.ctwmrc: Set Cursors to avoid strange default fallbacks ctwmrc: remove SloppyFocus keyword, which breaks xev the default still seems to be sloppy focus. is this a bug? does ctwm use a different definition of sloppy focus to the rest of the world? we may never know ctwmrc: disable NoTitleFocus to prevent multiple windows having focus some investigation help from Rhialto @ text @d2 1 a2 1 # $NetBSD: system.ctwmrc,v 1.1.2.2 2020/10/08 16:04:07 martin Exp $ d51 2 d75 2 a76 2 ClearShadowContrast 40 DarkShadowContrast 60 d90 1 a90 1 TitleFocus d129 1 a129 1 WorkSpaceManagerGeometry "60x240-4-4" 1 a139 15 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" } d142 1 a142 1 BorderColor "firebrick" d144 2 a145 2 BorderTileBackground "steelblue" BorderTileForeground "steelblue" a242 2 "xclock" "XEyes" d331 1 a331 1 #"XF86AudioMute" = : all : !"mixerctl -w outputs.master=0" @