# # wm independent hotkeys # # terminal emulator super + ctrl + Return urxvt # scratchpad super + grave xdotool search --onlyvisible --classname urxvt-scratch windowunmap \ || xdotool search --classname urxvt-scratch windowmap \ || urxvt -name urxvt-scratch -geometry 100x26 -e bash -c 'tmux new-session -A -s scratch' # program launcher super + space rofi -show run # password manager super + alt + backslash dpass.sh # make sxhkd reload its configuration files: super + Escape pkill -USR1 -x sxhkd # # Media keys # Pause mpc -q toggle super + Pause zzz.sh Print maim --opengl -s ~/shared/screenshots/$(date +%F-%T).png super + Print maim --opengl --showcursor ~/shared/screenshots/$(date +%F-%T).png # XF86Audio{Play,Pause} mpc -q toggle XF86Audio{Prev,Next} mpc -q {prev,next} XF86Audio{LowerVolume,RaiseVolume} vol.sh {-,+} XF86AudioMute vol.sh toggle super + XF86Eject zzz.sh super + {Down,Up} vol.sh {-,+} super + {Left,Right} mpc {prev,next} # # bspwm hotkeys # # quit bspwm normally super + alt + Escape bspc quit # close and kill super + {_,shift + }q bspc node -{c,k} # # state/flags # super + {f,shift + f} bspc {desktop -l next,node -t \~floating} super + shift + p bspc node -t \~pseudo_tiled # set the node flags super + ctrl + {x,y,z} bspc node -g {locked,sticky,private} # # focus/swap # # focus/swap the node in the given direction super + {_,shift +,ctrl +,shift + ctrl +}{h,j,k,l} bspc.sh {f,s,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 super + {_,shift + }Tab bspc.sh F {east,west} # focus monitor or send to the given desktop super + bracket{left,right} bspc desktop -f focused#{prev,next}.local # 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 super + {_,shift +}{1-9,0} bspc {desktop -f,node -d} C/{1-9,10} # minimize (send to dump desktop) super + m bspc node -d C/5 # # preselect # # preselect the direction super + alt + shift + {h,j,k,l} bspc node -p {west,south,north,east} # preselect the ratio super + alt + shift + {1-9} bspc node -o 0.{1-9} # cancel the preselection for the focused node super + alt + shift + space bspc node -p cancel # cancel the preselection for the focused desktop super + alt + shift + space bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel # expand the tiled space in the given direction super + alt + {h,j,k,l} bspc node {@west -r -,@south -r +,@north -r -,@east -r +}64 # contract the tiled space in the given direction super + alt + ctrl + {h,j,k,l} bspc node {@east -r -,@north -r +,@south -r -,@west -r +}64 # move a floating window super + alt + {Left,Down,Up,Right} xdo move {-x -,-y +,-y -,-x +}40 super + alt + ctrl + {Left,Down,Up,Right} xdo resize {-w -,-h -,-h -,-w -}40 # # # # Stream mode super + shift + s bspc config -m C left_padding 320; \ bspc config -m C right_padding 320; \ bspc config -m C top_padding 255; \ bspc config -m C bottom_padding 255; \ bspc config -m C window_gap 8