# # wm independent hotkeys # # terminal emulator alt + Return sterm # big terminal alt + shift + Return bterm # huge terminal alt + control + Return hterm # scratchpad alt + minus sp # program launcher alt + d dexec # ssh alt + s dexec_ssh # browser alt + shift + f dexec_browser # password manager alt + shift + p dexec_pass # apps alt + a dexec_apps # pim alt + p dexec_pim # vpn alt + v dexec_vpn # vim: history alt + shift + o texec "vim -c ':History!'" # vim: myfiles alt + o texec "vim -c ':MyFiles'" # # bspwm hotkeys # #XF86AudioRaiseVolume # pkill -sigusr1 bspwmbar # #XF86AudioLowerVolume # printf '%s\n' "UVOL" > "$PANEL_FIFO" # #XF86AudioMute # printf '%s\n' "UVOL" > "$PANEL_FIFO" # quit/restart bspwm alt + shift + r bspc wm -r pkill -SIGUSR1 sxhkd # close and kill alt + q bspc node -c alt + shift + q bspc node -k # alternate between the tiled and monocle layout alt + f bspc node -t "~"{fullscreen,tiled} # send the newest marked node to the newest preselected node alt + y bspc node newest.marked.local -n newest.!automatic.local # swap the current node and the biggest node alt + g bspc node -s biggest # toggle tiling alt + space bspc node -t "~"{floating,tiled} # pick color Print xpick_copy # screenshot alt + Print sshot # # state/flags # # set the window state #alt + {t,shift + t,s,f} # bspc node -t {tiled,pseudo_tiled,floating,fullscreen} # set the node flags #alt + ctrl + {m,x,y,z} # bspc node -g {marked,locked,sticky,private} # # focus/swap # # {focus,swap} the node in the given direction alt + {_,shift + }{Left,Down,Up,Right} bspc node -{f,s} {west,south,north,east} # move window into give direction alt + ctrl + {Left,Down,Up,Right} bspc node -n {west,south,north,east} # focus the node for the given path jump #alt + {p,b,comma,period} # bspc node -f @{parent,brother,first,second} # focus the next/previous node in the current desktop #alt + {o,i} # ctrl + {Prior,Next} # bspc node -f {next,prev}.local # focus the next/previous desktop in the current monitor alt + {Prior,Next} bspc desktop -f {prev,next}.local # drag window to next/previous desktop alt + shift + {Next,Prior} bspc node -d {next,prev}.local --follow # focus the last node/desktop alt + Tab bspc desktop -f last # # focus the older or newer node in the focus history # alt + {_,shift + }c # bspc wm -h off; \ # bspc node {older,newer} -f; \ # bspc wm -h on # focus or send to the given desktop alt + {_,shift + }{1-9,0} bspc {desktop -f,node -d} '^{1-9,10}' # # preselect # # preselect the direction #super + {Left,Down,Up,Right} # bspc node -p {west,south,north,east} # preselect spawn area ctrl + {Left,Down,Up,Right} bspc node -p {west,south,north,east} # cancel the preselection for the focused node ctrl + Return bspc node -p cancel # cancel the preselection for the focused node ctrl + space bspc node -p cancel # preselect the ratio alt + ctrl + {1-9} bspc node -o 0.{1-9} ## cancel the preselection for the focused desktop #alt + 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 #shift + 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 #shift + 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 #alt + {Left,Down,Up,Right} # bspc node -v {-20 0,0 20,0 -20,20 0}