# sxhkdrc for use with dk
#########################################################

# terminal emulator
super + Return
    xterm
alt + shift + Return
    xterm
super + t
    xterm

# program launcher
alt + p
    rofi_run -r
alt + F1
    rofi_run -r
super + @space
    rofi_run -r

# make sxhkd reload its configuration files:
super + shift + r
    pkill -USR1 -x sxhkd
alt + shift + r
    pkill -USR1 -x sxhkd


# quit dk
alt + shift + q
	dkcmd exit

# reload dkrc
alt + shift + r
	dkcmd reload

# restart dk
alt + ctrl + shift + r
	dkcmd restart

# focus next or previous window
alt + {j,k}
	dkcmd win focus {next,prev}

# close window, swap tiled window in/out of master, cycle tiled windows in place
alt + {q,space,Tab}
	dkcmd win {kill,swap,cycle}

# toggle fullscreen and fake fullscreen (enable manipulating fullscreen window)
{_,alt + }F11
	dkcmd win {full,fakefull}

# toggle floating or sticky
alt + shift + {space,s}
	dkcmd win {float,stick}

# move window, signed (+/-) for relative changes
alt + shift + {h,j,k,l}
	dkcmd win resize {x=-20,y=+20,y=-20,x=+20}

# resize window, signed (+/-) for relative changes
alt + ctrl + {h,j,k,l}
	dkcmd win resize {w=-20,h=+20,h=-20,w=+20}

# move the active window up/down the stack
alt + {Up,Down}
	dkcmd win mvstack {up,down}

# view, send, or follow to a workspace (by number)
alt + {_,shift + ,ctrl + }{1-9,0}
	dkcmd ws {view,send,follow} {1-9,10}

# view, send, or follow to the next, previous, last active,
# next non-empty, or prev non-empty workspace
alt + {_,shift + ,ctrl + }{bracketleft,bracketright,BackSpace,Left,Right}
	dkcmd ws {view,send,follow} {prev,next,last,prevne,nextne}

# view, send, or follow to the next, previous, or last active monitor
alt + {_,shift + ,ctrl + }{comma,period,backslash}
	dkcmd mon {view,send,follow} {prev,next,last}

# change active workspace layout
alt + {t,r,m,g,s,w,f,u}
	dkcmd set layout {tile,rtile,mono,grid,spiral,dwindle,none,tstack}

# change number of windows in master or first stack
alt + {_,shift + }{i,d}
	dkcmd set {master,stack} {+1,-1}

# change gap width
alt + {equal,minus}
	dkcmd set gap width {+5,-5}

# change border widths
alt + ctrl + {_,shift + }{equal,minus}
	dkcmd set border {width,outer_width} {+1,-1}
