# click on the desktop to get menus
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu

# scroll on the desktop to change workspaces
OnDesktop Mouse4 :PrevWorkspace
OnDesktop Mouse5 :NextWorkspace

# scroll on the toolbar to change current window
OnToolbar Mouse4 :PrevWindow {static groups} (iconhidden=no)
OnToolbar Mouse5 :NextWindow {static groups} (iconhidden=no)

# alt + left/right click to move/resize a window
OnWindow Mod4 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
OnWindowBorder Move1 :StartMoving

OnWindow Mod4 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
OnLeftGrip Move1 :StartResizing bottomleft
OnRightGrip Move1 :StartResizing bottomright

# alt + middle click to lower the window
OnWindow Mod4 Mouse2 :Lower

# control-click a window's titlebar and drag to attach windows
OnTitlebar Control Mouse1 :StartTabbing

# double click on the titlebar to shade
OnTitlebar Double Mouse1 :Shade

# left click on the titlebar to move the window
OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab}
OnTitlebar Move1  :StartMoving

# middle click on the titlebar to lower
OnTitlebar Mouse2 :Lower

# right click on the titlebar for a menu of options
OnTitlebar Mouse3 :WindowMenu

# alt-tab
Mod4 Tab :NextWindow {groups} (workspace=[current])
Mod4 Shift Tab :PrevWindow {groups} (workspace=[current])

# cycle through tabs in the current window
# Control Tab :NextTab
# Control Shift Tab :PrevTab

# go to a specific tab in the current window
# Control 1 :Tab 1
# Control 2 :Tab 2
# Control 3 :Tab 3
# Control 4 :Tab 4
# Control 5 :Tab 5
# Control 6 :Tab 6
# Control 7 :Tab 7
# Control 8 :Tab 8
# Control 9 :Tab 9

# open a terminal
Shift Mod4 Return :Exec uxterm

# open a dialog to run programs
Mod4 space :Exec fbrun

# lock the screen
Shift Mod4 F11 :Exec xlock -mode star -trek 100000

# volume settings, using common keycodes
# if these don't work, use xev to find out your real keycodes
# NetBSD
176 :Exec mixerctl -w outputs.master+=5
174 :Exec mixerctl -w outputs.master-=5
160 :Exec mixerctl -w outputs.master=0
# Linux ALSA
#176 :Exec amixer sset Master,0 1+
#174 :Exec amixer sset Master,0 1-
#160 :Exec amixer sset Master,0 toggle

# current window commands
Mod4 w :Close
Mod4 q :Kill
Mod4 m :Minimize
Shift Mod4 m :Maximize
Shift Mod4 f :Fullscreen

# open the window menu
Mod4 p :WindowMenu

# open the root menu
Mod4 r :RootMenu

# exit fluxbox
Shift Mod4 q :Exit

# change to previous/next workspace
Control Mod4 Left :PrevWorkspace
Control Mod4 Right :NextWorkspace

# send the current window to previous/next workspace
Mod4 Left :SendToPrevWorkspace
Mod4 Right :SendToNextWorkspace

# send the current window and follow it to previous/next workspace
Control Mod4 Left :TakeToPrevWorkspace
Control Mod4 Right :TakeToNextWorkspace

# change to a specific workspace
Mod4 1 :Workspace 1
Mod4 2 :Workspace 2
Mod4 3 :Workspace 3
Mod4 4 :Workspace 4
Mod4 5 :Workspace 5
Mod4 6 :Workspace 6
Mod4 7 :Workspace 7
Mod4 8 :Workspace 8
Mod4 9 :Workspace 9
Mod4 10 :Workspace 10
Mod4 11 :Workspace 11
Mod4 12 :Workspace 12

# send the current window to a specific workspace
Shift Mod4 1 :SendToWorkspace 1
Shift Mod4 2 :SendToWorkspace 2
Shift Mod4 3 :SendToWorkspace 3
Shift Mod4 4 :SendToWorkspace 4
Shift Mod4 5 :SendToWorkspace 5
Shift Mod4 6 :SendToWorkspace 6
Shift Mod4 7 :SendToWorkspace 7
Shift Mod4 8 :SendToWorkspace 8
Shift Mod4 9 :SendToWorkspace 9
Shift Mod4 10 :SendToWorkspace 10
Shift Mod4 11 :SendToWorkspace 11
Shift Mod4 12 :SendToWorkspace 12

# send the current window and change to a specific workspace
Control Shift Mod4 F1 :TakeToWorkspace 1
Control Shift Mod4 F2 :TakeToWorkspace 2
Control Shift Mod4 F3 :TakeToWorkspace 3
Control Shift Mod4 F4 :TakeToWorkspace 4
Control Shift Mod4 F5 :TakeToWorkspace 5
Control Shift Mod4 F6 :TakeToWorkspace 6
Control Shift Mod4 F7 :TakeToWorkspace 7
Control Shift Mod4 F8 :TakeToWorkspace 8
Control Shift Mod4 F9 :TakeToWorkspace 9
Control Shift Mod4 F10 :TakeToWorkspace 10
Control Shift Mod4 F11 :TakeToWorkspace 11
Control Shift Mod4 F12 :TakeToWorkspace 12

# tiling commands
Mod4 Shift h :MacroCmd {MoveTo 0 0} {ResizeTo 50% 100%}
Mod4 Shift l :MacroCmd {MoveTo 50% 0} {ResizeTo 50% 100%}
Mod4 Shift k :MacroCmd {MoveTo 0 0} {ResizeTo 100% 50%}
Mod4 Shift j :MacroCmd {MoveTo 0 50%} {ResizeTo 50% 100%}

Mod4 Shift y :MacroCmd {MoveTo 0 0} {ResizeTo 50% 50%}
Mod4 Shift u :MacroCmd {MoveTo 50% 0} {ResizeTo 50% 50%}
Mod4 Shift b :MacroCmd {MoveTo 0 50%} {ResizeTo 50% 50%}
Mod4 Shift n :MacroCmd {MoveTo 50% 50%} {ResizeTo 50% 50%}