From 158e32931c69e8c97cd0d269179541c113ced290 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 10 Dec 2017 12:02:08 +0100 Subject: Sync with upstream --- sxhkd/sxhkdrc | 118 +++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 76 insertions(+), 42 deletions(-) diff --git a/sxhkd/sxhkdrc b/sxhkd/sxhkdrc index 2217e90..b524c34 100644 --- a/sxhkd/sxhkdrc +++ b/sxhkd/sxhkdrc @@ -54,82 +54,116 @@ super + shift + p # bspwm hotkeys # +# quit bspwm normally super + alt + Escape bspc quit -super + w - bspc window -c +# close and kill +super + {_,shift + }w + bspc node -{c,k} -super + ctrl + c - bspc window -c +# alternate between the tiled and monocle layout +super + space + bspc desktop -l next -super + b - bspc desktop -B +# if the current node is automatic, send it to the last manual, otherwise pull the last leaf +super + y + bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused -super + {l,f} - bspc window -t {floating,fullscreen} +# swap the current node and the biggest node +super + g + bspc node -s biggest -super + Tab - bspc window -f last +# +# state/flags +# -super + Prior - bspc window -f prev +# set the window state +super + {t,shift + t,l,f} + bspc node -t {tiled,pseudo_tiled,floating,fullscreen} -super + Next - bspc window -f next +# set the node flags +super + ctrl + {x,y,z} + bspc node -g {locked,sticky,private} -super + apostrophe - bspc window -s last +# +# focus/swap +# -super + {o,i} - bspc control --record-history off; \ - bspc window {older,newer} -f; \ - bspc control --record-history on +# focus the node in the given direction +super + {_,shift + }{Left,Down,Up,Right} + bspc node -{f,s} {west,south,north,east} -super + y - bspc window -w last.manual +# focus the node for the given path jump +super + {p,b,comma,period} + bspc node -f @{parent,brother,first,second} -super + m - bspc window -s biggest +# focus the next/previous node +super + {_,shift + }c + bspc node -f {next,prev} -super + space - bspc desktop -l next +# focus the next/previous desktop +super + bracket{left,right} + bspc desktop -f {prev,next} -super + {_,shift + }{Left,Down,Up,Right} - bspc window -{f,s} {left,down,up,right} +# focus the last node/desktop +super + {grave,Tab} + bspc {node,desktop} -f last -super + {_,shift + }c - bspc window -f {next,prev} +# 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 + {comma,period} - bspc desktop -C {backward,forward} +# focus or send to the given desktop +super + {_,shift + }{1-9,0} + bspc {desktop -f,node -d} '^{1-9,10}' -super + bracket{left,right} - bspc desktop -f {prev,next} +# +# preselect +# +# preselect the direction super + ctrl + {Left,Down,Up,Right} - bspc window -p {left,down,up,right} + bspc node -p {west,south,north,east} + +# preselect the ratio +super + ctrl + {1-9} + bspc node -o 0.{1-9} +# cancel the preselection for the focused node or desktop super + ctrl + {_,shift + }space - bspc {window -p cancel,desktop -c} + bspc node @{_,/} -p cancel + +# +# resize tiled/floating +# +# expand the tiled space in the given direction super + alt + {Left,Down,Up,Right} - bspc window -e {left -10,down +10,up -10,right +10} + bspc node {@west -r -10,@south -r +10,@north -r -10,@east -r +10} +# contract the tiled space in the given direction super + alt + shift + {Left,Down,Up,Right} - bspc window -e {right -10,up +10,down -10,left +10} + bspc node {@east -r -10,@north -r +10,@south -r -10,@west -r +10} -super + ctrl + {1-9} - bspc window -r 0.{1-9} +# move a floating window +# super + {Left,Down,Up,Right} +# xdo move {-x -20,-y +20,-y -20,-x +20} -super + {_,shift + }{1-9,0} - bspc {desktop -f,window -d} ^{1-9,10} +# +# pointer focus/move/resize +# +# focus ~button1 bspc pointer -g focus +# start move/resize super + button{1-3} bspc pointer -g {move,resize_side,resize_corner} +# end move/resize super + @button{1-3} bspc pointer -u -- cgit v1.2.1