#
# wm independent hotkeys
#

# screenshots
Print
    $SCRIPTS/ss

super + shift + s
    $SCRIPTS/ss -Dosu

# languages
super + shift + l
    $SCRIPTS/lang/kbnext

#
# screen backlight
#
XF86MonBrightnessUp
    $SCRIPTS/backlight +

XF86MonBrightnessDown
    $SCRIPTS/backlight -
#
# keyboard backlight
#
XF86KbdBrightnessUp
    $SCRIPTS/kbd/kbdbacklight +

XF86KbdBrightnessDown
    $SCRIPTS/kbd/kbdbacklight -

#
# media keys
#
{XF86AudioMute,super + F1}
	pactl set-sink-mute 0 toggle

{XF86AudioLowerVolume,super + F2}
	pactl set-sink-volume 0 -5%

{XF86AudioRaiseVolume,super + F3}
	pactl set-sink-volume 0 +5%

{XF86AudioPrev,super + F5}
	mpc prev

{XF86AudioPlay,super + F6}
	mpc toggle

{XF86AudioNext,super + F7}
	mpc next

#
# bspwm hotkeys
#

# make sxhkd and bspwm reload their configuration files:
#super + Escape
#	pkill -USR1 -x sxhkd && \
#	$HOME/.config/bspwm/bspwmrc reload

## terminal emulator
#super + Return
#	$HOME/.scripts/term.sh
#
## toggle bar
#super + b
#	$SCRIPTS/bar/toggle
#
## program launcher
#super + d
#    dmenu_run -b

## gaps
#super + g
#    $BSPWM_CONFIG/toggle-gaps
#
## quit bspwm normally
#super + alt + Escape
#	bspc quit
#
## close and kill
#super + {_,shift + }w
#	bspc node -{c,k}
#
## alternate between the tiled and monocle layout
#super + m
#	bspc desktop -l next
#
## send the newest marked node to the newest preselected node
#super + y
#	bspc node newest.marked.local -n newest.!automatic.local
#
## swap the current node and the biggest node
#super + shift + g
#	bspc node -s biggest
#
##
## state/flags
##
#
## set the window state
#super + {t,p,space,f}
#	bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
#
## set the node flags
#super + ctrl + {m,x,y,z}
#	bspc node -g {marked,locked,sticky,private}
#
##
## focus/swap
##
#
## focus the node in the given direction
#super + {_,shift + }{h,j,k,l}
#	bspc node -{f,s} {west,south,north,east}
#
## focus the node for the given path jump
#super + {p,b,comma,period}
#	bspc node -f @{parent,brother,first,second}
#
## focus the next/previous node in the current desktop
#super + {_,shift + }c
#	bspc node -f {next,prev}.local
#
## focus the next/previous desktop in the current monitor
#super + bracket{left,right}
#	bspc desktop -f {prev,next}.local
#
## focus the last node/desktop
#super + {grave,Tab}
#	bspc {node,desktop} -f last
#
## focus the older or newer node in the focus history
#super + {o,i}
#	bspc wm -h off; \
#	bspc node {older,newer} -f; \
#	bspc wm -h on
#
## focus or send to the given desktop
#super + {_,shift + }{1-9,0}
#	bspc {desktop -f,node -d} '^{1-9,10}'
#
##
## preselect
##
#
## preselect the direction
#super + ctrl + {h,j,k,l}
#	bspc node -p {west,south,north,east}
#
## preselect the ratio
#super + ctrl + {1-9}
#	bspc node -o 0.{1-9}
#
## cancel the preselection for the focused node
#super + ctrl + space
#	bspc node -p cancel
#
## cancel the preselection for the focused desktop
#super + ctrl + shift + space
#	bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
#
##
## move/resize
##
#
## expand a window by moving one of its side outward
#super + alt + {h,j,k,l}
#	bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
#
## contract a window by moving one of its side inward
#super + alt + shift + {h,j,k,l}
#	bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
#
## move a floating window
#super + {Left,Down,Up,Right}
#	bspc node -v {-20 0,0 20,0 -20,20 0}