# # # bspwm hotkeys use alt # # # # close and kill alt + {_,shift + }q bspc node -{c,k} # quit/restart bspwm alt + r bspc wm -r # set the window state alt + {t,shift + t,shift + f,f} bspc node -t {tiled,pseudo_tiled,floating,fullscreen} # focus the next/previous desktop in the current monitor alt + {Escape,semicolon} bspc desktop -f {prev,next}.occupied # focus/swap the node in the given direction alt + {_,shift + }{h,j,k,l} bspc node -{f,s} {west,south,north,east} # focus the next/previous window in the current desktop alt + {_,shift} + n bspc node -f {next,prev}.local # 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} # swap the current node and the biggest node alt + b bspc node -s biggest.local # monacle mode toggle alt + m bspc desktop -l next # rotate current desktop windows layout alt + comma bspc node @/ -R 90 alt + shift + Escape bspc quit # focus or send to the given desktop alt + {_,shift + }{1-9,0} bspc {desktop -f,node -d} '{1-9,10}' # dynamic window gaps (mostly just showing off...) alt + shift + {minus,equal} bspc config -d focused window_gap $((`bspc config -d focused window_gap` {+,-} 2 )) # focus the last node/desktop alt + Tab bspc desktop -f last # move a floating window alt + {Left,Down,Up,Right} bspc node -v {-20 0,0 20,0 -20,20 0} # # # regular keymaps use super # # # super + {y,u} scratch {math, dropdown} super + shift + Return $TERMINAL -e tmux_connect.sh super + BackSpace kill -9 -1 super + space polybar-msg cmd toggle