# # wm independent hotkeys # # terminal emulator super + Return st super + shift + Return st -e tmux_connect.sh # program launcher super + d rofi -show run alt + shift + Escape bspc quit super + F4 systemctl suspend super + x lock.sh bspwm super + shift + x systemctl restart super + BackSpace shutdown now # # bspwm hotkeys # # quit/restart bspwm alt + r bspc wm -r # close and kill alt + {_,shift + }q bspc node -{c,k} # swap the current node and the biggest node alt + b bspc node -s biggest.local # dynamic window gaps (mostly just showing off...) alt + shift + {minus,equal} bspc config -d focused window_gap $((`bspc config -d focused window_gap` {+,-} 2 )) alt + m bspc desktop -l next alt + comma bspc node @/ -R 90 # # state/flags # # set the window state alt + {t,shift + t,shift + f,f} bspc node -t {tiled,pseudo_tiled,floating,fullscreen} # # focus/swap # # focus the node in the given direction alt + {_,shift + }{h,j,k,l} bspc node -{f,s} {west,south,north,east} # focus the next/previous desktop in the current monitor alt + {Escape,semicolon} bspc desktop -f {prev,next}.occupied # focus the next/previous window in the current desktop super + alt + {j,k} bspc node -f {prev,next}.local # focus the last node/desktop alt + Tab bspc desktop -f last # focus or send to the given desktop alt + {_,shift + }{1-9,0} bspc {desktop -f,node -d} '{1-9,10}' # # move/resize # # expand a window by moving one of its side outward alt + ctrl + {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 alt + ctrl + shift + {h,j,k,l} bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} # move a floating window alt + {Left,Down,Up,Right} bspc node -v {-20 0,0 20,0 -20,20 0} # # regular keymaps # super + w firefox super + shift + w firefox -private-window super + e st -n email -e neomutt super + r st -e vifm super + shift + r pcmanfm super + {y,u} scratch {math, dropdown} super + i st -e htop super + p mpc toggle super + shift + p keepassxc super + shift + a st -e alsamixer super + shift + f dmenuunicode super + v st -e ncmpcpp -s visualizer super + b mpc prev super + n mpc next super + m st -e ncmpcpp super + shift + m pamixer --allow-boost -t super + {F7,F8} screen.sh {l,d} super + bracket{left,right} mpc seek {-,\+}30 super + {minus,equal} pamixer --allow-boost -{d,i} 10 {_,shift} + Print maim -{s,i $(xdotool getactivewindow)} ~/Pictures/$(date +%s).png