NoDefaults
DontShowWelcomeWindow
ShowWorkSpaceManager
ShowIconManager
UseThreeDBorders
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')
')
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
DontPaintRootWindow
AutoOccupy
AutoRelativeResize
CenterFeedbackWindow
NoGrabServer
RaiseOnClick
ClickToFocus
DontMoveOff
MoveOffResistance 150
ConstrainedMoveTime 0
IgnoreLockModifier
RandomPlacement "on"
MoveDelta 3
ClearShadowContrast 40
DarkShadowContrast 60
MovePackResistance 100
RaiseWhenAutoUnSqueeze
ShortAllWindowsMenus
NoStackMode
StayUpMenus
WarpToDefaultMenuEntry
MenuShadowDepth 1
WindowRing
WarpRingOnScreen
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 &"
" uxterm" !"uxterm -ls &"
" lxterminal" !"lxterminal -l &"
" Alacritty" !"alacritty msg create-window &"
" Tabbed Alacritty" !"tabbed -f -g 1120x716+135+8 alacritty msg create-window --embed &"
"" 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"
"xload"
"XEyes"
"xsm"
"xconsole"
"XVidCap"
"sysload"
}
AlwaysOnTop
{
#"XEyes"
"XVidCap"
}
NoTitle
{
"TWM Icon Manager"
"WorkSpaceManager"
"XClock"
"XEyes"
"xload"
}
WindowRingExclude
{
"TWM Icon Manager"
"WorkSpaceManager"
"XClock"
"xsm"
"xconsole"
"stalonetray"
"XLoad"
"Gkrellm"
"XEyes"
"sysload"
"NetBSD Logo"
"releaseallkeys"
"Ossxmix"
}
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"
Button1 = : root : f.menu "NetBSD"
Button2 = : root : f.menu "TwmKeys"
Button3 = : root : f.menu "TwmWindows"
Button3 = S : root : f.menu "TwmWorkspaces"
#
# 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
"n" = mod4 | s : all : f.prevworkspace
"n" = 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"
"Tab" = mod4 : all : !"rofi -show window"
"space" = mod1 : window : f.menu "titleops"
"F4" = mod1 : window : f.delete
#
# "Mac" style keyboard shortcuts
#
#"w" = mod4 : window : f.delete
"q" = mod4 | s : window : f.delete
"m" = mod4 | s : window : f.iconify
"m" = mod4 : window : f.fullzoom
#
# "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 &"
"Return" = mod4 : all : !"alacritty msg create-window &"
"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"
# vi-style directions
#move
"j" = mod4 : window : f.jumpleft "100"
"k" = mod4 : window : f.jumpdown "100"
"l" = mod4 : window : f.jumpup "100"
"semicolon" = mod4 : window : f.jumpright "100"
#fine move
"j" = mod4 | c : window : f.jumpleft "10"
"k" = mod4 | c : window : f.jumpdown "10"
"l" = mod4 | c : window : f.jumpup "10"
"semicolon" = mod4 | c : window : f.jumpright "10"
#resize
"j" = mod4 | s : window : f.changesize "right -10"
"k" = mod4 | s : window : f.changesize "bottom +10"
"l" = mod4 | s : window : f.changesize "bottom -10"
"semicolon" = mod4 | s : window : f.changesize "right +10"
"d" = mod4 : all : !"rofi -show drun &"
"i" = mod4 : all : !"nice -n19 firefox140 &"
"i" = mod4 | s : all : !"nice -n19 firefox140 --private-window &"
"d" = mod4 | s : all : !"rofi -show run &"
"c" = mod4 | s : all : f.twmrc
"r" = mod4 | s : all : !"~/.local/bin/releaseallkeys >/tmp/releaseallkeys.txt 2>&1"
"period" = mod4 : all : !"~/bin/emoji-picker"
"p" = mod4 | s : all : !"~/bin/blobcat &"
"g" = mod4 : all : !"~/bin/findmenu &"
Pixmaps
{
#TitleHighlight "~/Pictures/titlebar-stipple.xbm"
#TitleHighlight "~/Pictures/titlebar-stipple2.xbm"
#TitleHighlight "~/Pictures/titlebar-stipple3.xbm"
#TitleHighlight "root_weave"
#TitleHighlight "gray1"
#TitleHighlight "dimple1"
#TitleHighlight "dimple3"
#TitleHighlight "wide_weave"
TitleHighlight "xpm:~/Pictures/titlebar-win98-1080.xpm"
}