summaryrefslogtreecommitdiff
path: root/sxhkd/sxhkdrc.bsp
diff options
context:
space:
mode:
authorzachir <zachir@librem.one>2022-10-05 22:00:32 -0500
committerzachir <zachir@librem.one>2022-10-05 22:00:32 -0500
commitf39d735e2ba625a31a7dbf6fb8bdd62501379ad1 (patch)
treed17c96714c930e0b8bc75616cc9c81b961ed5aa0 /sxhkd/sxhkdrc.bsp
Initial Commit
Diffstat (limited to 'sxhkd/sxhkdrc.bsp')
-rwxr-xr-xsxhkd/sxhkdrc.bsp159
1 files changed, 159 insertions, 0 deletions
diff --git a/sxhkd/sxhkdrc.bsp b/sxhkd/sxhkdrc.bsp
new file mode 100755
index 0000000..e31576b
--- /dev/null
+++ b/sxhkd/sxhkdrc.bsp
@@ -0,0 +1,159 @@
+#
+# bspwm hotkeys
+#
+
+# launch terminal
+alt + Return
+ st
+
+# quit/restart bspwm
+alt + shift + {e,r}
+ bspc {quit,wm -r}
+
+# close
+alt + shift + {q, super + k}
+ bspc node {-c,-k}
+
+# alternate between the tiled and monocle layout
+# alt + m
+# bspc desktop -l next
+
+# 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
+
+#
+# state/flags
+#
+
+# set the window state
+alt + super + {t,shift + t,s,f}
+ bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
+
+# set the node flags
+alt + super + {m,x,y,z}
+ bspc node -g {marked,locked,sticky,private}
+
+#
+# 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 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 + {_,shift + }c
+ bspc node -f {next,prev}.local
+
+# focus the next/previous desktop in the current Monitor
+alt + bracket{left,right}
+ bspc desktop -f {prev,next}.local
+
+# focus the last node/desktop
+alt + {grave,Tab}
+ bspc {node,desktop} -f last
+
+# focus the older or newer node in the focus history
+alt + {o,i}
+ 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
+alt + ctrl + {h,j,k,l}
+ bspc node -p {west,south,north,east}
+
+# preselect the ratio
+alt + ctrl + {1-9}
+ bspc node -o 0.{1-9}
+
+# cancel the preselection for the focused node
+alt + ctrl + space
+ bspc node -p cancel
+
+# 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
+super + 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
+super + 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
+super + {Left,Down,Up,Right}
+ bspc node -v {-20 0,0 20,0 -20,20 0}
+
+#
+# bsp-layout
+#
+alt + {t,shift + t}
+ bsp-layout set {tile,tall -- --master-size 0.5}
+
+#
+# scratchpads
+#
+
+# htop
+alt + control + z
+ bspt sphtop htop
+
+# terminal
+alt + control + x
+ bspt spterm tmux
+
+# pulsemixer
+alt + control + c
+ bspt sppmxr pulsemixer
+
+# bluetoothctl
+alt + control + v
+ bspt spblue bluetoothctl
+
+# ncmpcpp
+alt + control + b
+ bspt spncmp ncmpcpp
+
+# neomutt
+alt + control + a
+ bspt spmutt neomutt
+
+# profanity
+alt + control + s
+ bspt spprof profanity
+
+# irssi
+alt + control + d
+ bspt spircc irssi
+
+# todo
+alt + control + f
+ bspt sptodo todo
+
+# trem
+alt + control + g
+ bspt sptrem tremc