summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-12-10 12:02:08 +0100
committerDavid Robillard <d@drobilla.net>2017-12-10 12:02:08 +0100
commit158e32931c69e8c97cd0d269179541c113ced290 (patch)
tree9b7911392ab67efae514205079257c3a487e0620
parent8d02e06a9f191f47bc8cfccda42419728389ec51 (diff)
downloaddotfiles-158e32931c69e8c97cd0d269179541c113ced290.tar.gz
dotfiles-158e32931c69e8c97cd0d269179541c113ced290.tar.bz2
dotfiles-158e32931c69e8c97cd0d269179541c113ced290.zip
Sync with upstream
-rw-r--r--sxhkd/sxhkdrc118
1 files 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