+$TERM="x-terminal-emulator"
+#$TERM="x-terminal-emulator -fn fixed +sb -bg white -fg black"
+
+Global {
+# - - ----------------------------------------------- - -
+# Simple bindings to most requently used actions.
+#
+# Adding your own frequently used actions is easy -
+# just copy it over from CHAINS and edit the keypress!
+ # Moving in frames
+ KeyPress = "Mod1 Tab" { Actions = "NextFrame EndRaise" }
+ KeyPress = "Mod1 Shift Tab" { Actions = "PrevFrame EndRaise" }
+ KeyPress = "Mod1 Ctrl Tab" { Actions = "NextFrameMRU EndRaise" }
+ KeyPress = "Mod1 Ctrl Shift Tab" { Actions = "PrevFrameMRU EndRaise" }
+ KeyPress = "Mod4 Tab" { Actions = "NextInFrame" }
+ KeyPress = "Mod4 Shift Tab" { Actions = "PrevInFrame" }
+ KeyPress = "Mod4 Left" { Actions = "FocusDirectional Left" }
+ KeyPress = "Mod4 Right" { Actions = "FocusDirectional Right" }
+ KeyPress = "Mod4 Up" { Actions = "FocusDirectional Up" }
+ KeyPress = "Mod4 Down" { Actions = "FocusDirectional Down" }
+ # Moving in workspaces
+ KeyPress = "Ctrl Mod1 Left" { Actions = "GotoWorkspace Left" }
+ KeyPress = "Ctrl Mod1 Right" { Actions = "GotoWorkspace Right" }
+ KeyPress = "Mod4 1" { Actions = "GotoWorkspace 1" }
+ KeyPress = "Mod4 2" { Actions = "GotoWorkspace 2" }
+ KeyPress = "Mod4 3" { Actions = "GotoWorkspace 3" }
+ KeyPress = "Mod4 4" { Actions = "GotoWorkspace 4" }
+ KeyPress = "Mod4 F1" { Actions = "SendToWorkspace 1" }
+ KeyPress = "Mod4 F2" { Actions = "SendToWorkspace 2" }
+ KeyPress = "Mod4 F3" { Actions = "SendToWorkspace 3" }
+ KeyPress = "Mod4 F4" { Actions = "SendToWorkspace 4" }
+ # Simple window management
+ KeyPress = "Mod4 M" { Actions = "Toggle Maximized True True" }
+ KeyPress = "Mod4 G" { Actions = "Maxfill True True" }
+ KeyPress = "Mod4 F" { Actions = "Toggle FullScreen" }
+ KeyPress = "Mod4 Return" { Actions = "MoveResize" }
+ KeyPress = "Mod4 Q" { Actions = "Close" }
+ KeyPress = "Mod4 S" { Actions = "Toggle Shaded" }
+ KeyPress = "Mod4 I" { Actions = "Toggle Iconified" }
+ # Marking
+ KeyPress = "Mod4 Z" { Actions = "Toggle Marked" }
+ KeyPress = "Mod4 A" { Actions = "AttachMarked" }
+ # Menus
+ KeyPress = "Mod4 R" { Actions = "ShowMenu Root" }
+ KeyPress = "Mod4 W" { Actions = "ShowMenu Window" }
+ KeyPress = "Mod4 L" { Actions = "ShowMenu Goto" }
+ KeyPress = "Mod4 C" { Actions = "ShowMenu GotoClient" }
+ KeyPress = "Mod4 Shift I" { Actions = "ShowMenu Icon" }
+ KeyPress = "Mod4 H" { Actions = "HideAllMenus" }
+ # Moving in viewports (disabled from ~/.pekwm/config by default)
+ Keypress = "Mod4 KP_1" { Actions = "ViewportGoto 1 3" } # KP_
+ Keypress = "Mod4 KP_2" { Actions = "ViewportGoto 2 3" } # stands
+ Keypress = "Mod4 KP_3" { Actions = "ViewportGoto 3 3" } # for
+ Keypress = "Mod4 KP_4" { Actions = "ViewportGoto 1 2" } # keypad
+ Keypress = "Mod4 KP_5" { Actions = "ViewportGoto 2 2" }
+ Keypress = "Mod4 KP_6" { Actions = "ViewportGoto 3 2" }
+ Keypress = "Mod4 KP_7" { Actions = "ViewportGoto 1 1" }
+ Keypress = "Mod4 KP_8" { Actions = "ViewportGoto 2 1" }
+ Keypress = "Mod4 KP_9" { Actions = "ViewportGoto 3 1" }
+ # External Commands
+ KeyPress = "Mod4 E" { Actions = "Exec $TERM" }
+ KeyPress = "Mod1 x" { Actions = "Exec $TERM" }
+ KeyPress = "Mod1 Escape" { Actions = "Exec $TERM" }
+ KeyPress = "Ctrl Mod1 x" { Actions = "Exec /usr/bin/runit &" }
+ KeyPress = "Ctrl Mod1 l" { Actions = "Exec /usr/X11R6/bin/xlock &" }
+ KeyPress = "Ctrl Mod1 v" { Actions = "Exec /usr/bin/xsay &" }
+ # This requires you to have your xkb set up properly
+ # (These are the 'extra buttons' used on many keyboards)
+ # KeyPress = "XF86AudioPrev" { Actions = "Exec xmms -r" }
+ # KeyPress = "XF86AudioNext" { Actions = "Exec xmms -f" }
+ # KeyPress = "XF86AudioPlay" { Actions = "Exec xmms -t" }
+ # KeyPress = "XF86AudioStop" { Actions = "Exec xmms -s" }
+ # KeyPress = "XF86AudioLowerVolume" { Actions = "Exec aumix -w-5" }
+ # KeyPress = "XF86AudioRaiseVolume" { Actions = "Exec aumix -w+5" }
+ # KeyPress = "XF86AudioMute" { Actions = "Exec aumix -w0" }
+ # KeyPress = "XF86AudioStop" { Actions = "Exec x-terminal-emulator" }
+ # Pekwm control
+ KeyPress = "Ctrl Mod1 Delete" { Actions = "Reload" }
+ KeyPress = "Mod4 D" { Actions = "ShowCmdDialog" }
+
+# - - ----------------------------------------------- - -
+# CHAINS. These give you access to just about everything.
+ # Move to Corner
+ Chain = "Ctrl Mod1 C" {
+ KeyPress = "Q" { Actions = "MoveToEdge TopLeft" }
+ KeyPress = "Y" { Actions = "MoveToEdge TopCenterEdge" }
+ KeyPress = "Shift Y" { Actions = "MoveToEdge TopEdge" }
+ KeyPress = "P" { Actions = "MoveToEdge TopRight" }
+ KeyPress = "A" { Actions = "MoveToEdge LeftCenterEdge" }
+ KeyPress = "Shift A" { Actions = "MoveToEdge LeftEdge" }
+ KeyPress = "L" { Actions = "MoveToEdge RightCenterEdge" }
+ KeyPress = "Shift L" { Actions = "MoveToEdge RightEdge" }
+ KeyPress = "Z" { Actions = "MoveToEdge BottomLeft" }
+ KeyPress = "B" { Actions = "MoveToEdge BottomCenterEdge" }
+ KeyPress = "Shift B" { Actions = "MoveToEdge BottomEdge" }
+ KeyPress = "M" { Actions = "MoveToEdge BottomRight" }
+ KeyPress = "H" { Actions = "MoveToEdge Center" }
+ }
+ # Menus
+ Chain = "Ctrl Mod1 M" {
+ KeyPress = "R" { Actions = "ShowMenu Root" }
+ KeyPress = "W" { Actions = "ShowMenu Window" }
+ KeyPress = "I" { Actions = "ShowMenu Icon" }
+ KeyPress = "G" { Actions = "ShowMenu Goto" }
+ KeyPress = "C" { Actions = "ShowMenu GotoClient" }
+ KeyPress = "D" { Actions = "ShowMenu Decor" }
+ KeyPress = "A" { Actions = "ShowMenu AttachClientInFrame" }
+ KeyPress = "F" { Actions = "ShowMenu AttachFrameInFrame" }
+ Keypress = "Shift A" { Actions = "ShowMenu AttachClient" }
+ Keypress = "Shift F" { Actions = "ShowMenu AttachFrame" }
+ KeyPress = "H" { Actions = "HideAllMenus" }
+ }
+ # Grouping
+ Chain = "Ctrl Mod1 T" {
+ KeyPress = "T" { Actions = "Toggle Tagged False" }
+ KeyPress = "B" { Actions = "Toggle Tagged True" }
+ KeyPress = "C" { Actions = "Unset Tagged" }
+ KeyPress = "G" { Actions = "Toggle GlobalGrouping" }
+ KeyPress = "M" { Actions = "Toggle Marked" }
+ KeyPress = "A" { Actions = "AttachMarked" }
+ KeyPress = "D" { Actions = "Detach" }
+ Keypress = "P" { Actions = "AttachClientInNextFrame" }
+ KeyPress = "O" { Actions = "AttachClientInPrevFrame" }
+ Keypress = "I" { Actions = "AttachFrameInNextFrame" }
+ KeyPress = "U" { Actions = "AttachFrameInPrevFrame" }
+ }
+ # Decor Toggles
+ Chain = "Ctrl Mod1 D" {
+ KeyPress = "B" { Actions = "Toggle DecorBorder" }
+ KeyPress = "T" { Actions = "Toggle DecorTitlebar" }
+ KeyPress = "D" { Actions = "Toggle DecorBorder; Toggle DecorTitlebar" }
+ }
+ # Window Actions
+ Chain = "Ctrl Mod1 A" {
+ Chain = "G" {
+ KeyPress = "G" { Actions = "MaxFill True True" }
+ KeyPress = "V" { Actions = "MaxFill False True" }
+ KeyPress = "H" { Actions = "MaxFill True False" }
+ }
+ Chain = "M" {
+ KeyPress = "M" { Actions = "Toggle Maximized True True" }
+ KeyPress = "V" { Actions = "Toggle Maximized False True" }
+ KeyPress = "H" { Actions = "Toggle Maximized True False" }
+ }
+ Chain = "Q" {
+ KeyPress = "Q" { Actions = "Close" }
+ KeyPress = "F" { Actions = "CloseFrame" }
+ KeyPress = "K" { Actions = "Kill" }
+ }
+ KeyPress = "S" { Actions = "Toggle Shaded" }
+ KeyPress = "A" { Actions = "Toggle Sticky" }
+ KeyPress = "O" { Actions = "Toggle AlwaysOnTop" }
+ KeyPress = "B" { Actions = "Toggle AlwaysBelow" }
+ KeyPress = "I" { Actions = "Set Iconified" }
+ KeyPress = "R" { Actions = "Raise" }
+ KeyPress = "Shift R" { Actions = "RaiseFamily" }
+ KeyPress = "L" { Actions = "Lower" }
+ KeyPress = "Shift L" { Actions = "LowerFamily" }
+ KeyPress = "X" { Actions = "ActivateOrRaise" }
+ KeyPress = "Return" { Actions = "MoveResize" }
+ KeyPress = "F" { Actions = "Toggle Fullscreen" }
+ KeyPress = "Left" { Actions = "GrowDirection Left" }
+ KeyPress = "Right" { Actions = "GrowDirection Right" }
+ KeyPress = "Up" { Actions = "GrowDirection Up" }
+ KeyPress = "Down" { Actions = "GrowDirection Down" }
+ }
+ # Moving in Frames
+ Chain = "Ctrl Mod1 F" {
+ KeyPress = "P" { Actions = "NextFrame AlwaysRaise" }
+ KeyPress = "O" { Actions = "PrevFrame AlwaysRaise" }
+ KeyPress = "Shift P" { Actions = "NextFrameMRU EndRaise" }
+ KeyPress = "Shift O" { Actions = "PrevFrameMRU EndRaise" }
+ KeyPress = "I" { Actions = "NextInFrame" }
+ KeyPress = "U" { Actions = "PrevInFrame" }
+ KeyPress = "Shift I" { Actions = "MoveClientNext" }
+ KeyPress = "Shift U" { Actions = "MoveClientPrev" }
+ KeyPress = "Up" { Actions = "FocusDirectional Up" }
+ KeyPress = "Down" { Actions = "FocusDirectional Down" }
+ KeyPress = "Left" { Actions = "FocusDirectional Left" }
+ Keypress = "Right" { Actions = "FocusDirectional Right" }
+ KeyPress = "1" { Actions = "ActivateClientNum 1" }
+ KeyPress = "2" { Actions = "ActivateClientNum 2" }
+ KeyPress = "3" { Actions = "ActivateClientNum 3" }
+ KeyPress = "4" { Actions = "ActivateClientNum 4" }
+ KeyPress = "5" { Actions = "ActivateClientNum 5" }
+ KeyPress = "6" { Actions = "ActivateClientNum 6" }
+ KeyPress = "7" { Actions = "ActivateClientNum 7" }
+ KeyPress = "8" { Actions = "ActivateClientNum 8" }
+ KeyPress = "9" { Actions = "ActivateClientNum 9" }
+ KeyPress = "0" { Actions = "ActivateClientNum 0" }
+ }
+ # Workspaces and viewports
+ Chain = "Ctrl Mod1 W" {
+ KeyPress = "Right" { Actions = "GoToWorkspace Right" }
+ KeyPress = "Left" { Actions = "GoToWorkspace Left" }
+ KeyPress = "1" { Actions = "GoToWorkspace 1" }
+ KeyPress = "2" { Actions = "GoToWorkspace 2" }
+ KeyPress = "3" { Actions = "GoToWorkspace 3" }
+ KeyPress = "4" { Actions = "GoToWorkspace 4" }
+ KeyPress = "F1" { Actions = "SendToWorkspace 1" }
+ KeyPress = "F2" { Actions = "SendToWorkspace 2" }
+ KeyPress = "F3" { Actions = "SendToWorkspace 3" }
+ KeyPress = "F4" { Actions = "SendToWorkspace 4" }
+ Keypress = "Shift Up" { Actions = "ViewportMoveDirection Up" }
+ Keypress = "Shift Down" { Actions = "ViewportMoveDirection Down" }
+ Keypress = "Shift Left" { Actions = "ViewportMoveDirection Left" }
+ Keypress = "Shift Right" { Actions = "ViewportMoveDirection Right" }
+ Keypress = "KP_1" { Actions = "ViewportGoto 1 3" } # KP_
+ Keypress = "KP_2" { Actions = "ViewportGoto 2 3" } # stands
+ Keypress = "KP_3" { Actions = "ViewportGoto 3 3" } # for
+ Keypress = "KP_4" { Actions = "ViewportGoto 1 2" } # keypad
+ Keypress = "KP_5" { Actions = "ViewportGoto 2 2" }
+ Keypress = "KP_6" { Actions = "ViewportGoto 3 2" }
+ Keypress = "KP_7" { Actions = "ViewportGoto 1 1" }
+ Keypress = "KP_8" { Actions = "ViewportGoto 2 1" }
+ Keypress = "KP_9" { Actions = "ViewportGoto 3 1" }
+ }
+ # External commands
+ Chain = "Ctrl Mod1 E" {
+ KeyPress = "E" { Actions = "Exec $TERM" }
+ KeyPress = "L" { Actions = "Exec xlock -mode blank &" }
+ KeyPress = "S" { Actions = "Exec scrot &" }
+ }
+ # Wm actions
+ Chain = "Ctrl Mod1 P" {
+ KeyPress = "Delete" { Actions = "Reload" }
+ KeyPress = "Next" { Actions = "Restart" }
+ KeyPress = "End" { Actions = "Exit" }
+ KeyPress = "Prev" { Actions = "RestartOther twm" }
+ KeyPress = "D" { Actions = "ShowCmdDialog" }
+ }
+ # Skipping
+ Chain = "Ctrl Mod1 S" {
+ Keypress = "M" { Actions = "Toggle Skip Menus" }
+ Keypress = "F" { Actions = "Toggle Skip FocusToggle" }
+ Keypress = "S" { Actions = "Toggle Skip Snap" }
+ }
+}
+
+# Keys when MoveResize is active
+MoveResize {
+ KeyPress = "Left" { Actions = "MoveHorizontal -10" }
+ KeyPress = "Right" { Actions = "MoveHorizontal 10" }
+ KeyPress = "Up" { Actions = "MoveVertical -10" }
+ KeyPress = "Down" { Actions = "MoveVertical 10" }
+ Keypress = "Shift Left" { Actions = "MoveHorizontal -1" }
+ Keypress = "Shift Right" { Actions = "MoveHorizontal 1" }
+ Keypress = "Shift Up" { Actions = "MoveVertical -1" }
+ Keypress = "Shift Down" { Actions = "MoveVertical 1" }
+ Keypress = "Mod4 Left" { Actions = "ResizeHorizontal -10" }
+ Keypress = "Mod4 Right" { Actions = "ResizeHorizontal 10" }
+ Keypress = "Mod4 Up" { Actions = "ResizeVertical -10" }
+ Keypress = "Mod4 Down" { Actions = "ResizeVertical 10" }
+ Keypress = "Mod1 Left" { Actions = "ResizeHorizontal -10" }
+ Keypress = "Mod1 Right" { Actions = "ResizeHorizontal 10" }
+ Keypress = "Mod1 Up" { Actions = "ResizeVertical -10" }
+ Keypress = "Mod1 Down" { Actions = "ResizeVertical 10" }
+ Keypress = "Shift Mod4 Left" { Actions = "ResizeHorizontal -1" }
+ Keypress = "Shift Mod4 Right" { Actions = "ResizeHorizontal 1" }
+ Keypress = "Shift Mod4 Up" { Actions = "ResizeVertical -1" }
+ Keypress = "Shift Mod4 Down" { Actions = "ResizeVertical 1" }
+ Keypress = "Shift Mod1 Left" { Actions = "ResizeHorizontal -1" }
+ Keypress = "Shift Mod1 Right" { Actions = "ResizeHorizontal 1" }
+ Keypress = "Shift Mod1 Up" { Actions = "ResizeVertical -1" }
+ Keypress = "Shift Mod1 Down" { Actions = "ResizeVertical 1" }
+ Keypress = "s" { Actions = "MoveSnap" }
+ Keypress = "Escape" { Actions = "Cancel" }
+ Keypress = "q" { Actions = "Cancel" }
+ Keypress = "Return" { Actions = "End" }
+}
+
+# Keys for CmdDialog editing
+CmdDialog {
+ KeyPress = "Left" { Actions = "CursPrev" }
+ KeyPress = "Right" { Actions = "CursNext" }
+ KeyPress = "BackSpace" { Actions = "Erase" }
+ KeyPress = "Ctrl K" { Actions = "Clear" }
+ KeyPress = "Return" { Actions = "Exec" }
+ KeyPress = "Escape" { Actions = "Close" }
+ KeyPress = "Up" { Actions = "HistPrev" }
+ KeyPress = "Down" { Actions = "HistNext" }
+ KeyPress = "Any Any" { Actions = "Insert" }
+}
+
+# Keys working in menus
+Menu {
+ KeyPress = "Down" { Actions = "NextItem" }
+ KeyPress = "Up" { Actions = "PrevItem" }
+ KeyPress = "Left" { Actions = "LeaveSubmenu" }
+ KeyPress = "Right" { Actions = "EnterSubmenu" }
+ KeyPress = "Return" { Actions = "Select" }
+ KeyPress = "space" { Actions = "Select" }
+ KeyPress = "Escape" { Actions = "Close" }
+ KeyPress = "q" { Actions = "Close" }
+}
+