commit 08db8c447e3c46d76e2aa9cf1716eac341bc046e
parent fc6e0d2c282a48d0eb952cef586c97021d5aa47e
Author: Michael Neuper <73108749+michaelneuper@users.noreply.github.com>
Date: Wed, 16 Nov 2022 19:30:35 +0200
Create sxhkdrc
Diffstat:
| A | .config/sxhkd/sxhkdrc | | | 140 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 140 insertions(+), 0 deletions(-)
diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc
@@ -0,0 +1,140 @@
+# ____ _____
+# | _ \_ _| Derek Taylor (DistroTube)
+# | | | || | http://www.youtube.com/c/DistroTube
+# | |_| || | http://www.gitlab.com/dwt1/
+# |____/ |_|
+#
+# A customized sxhkdrc for the bspwm window manager.
+# https://github.com/baskerville/sxhkd
+# https://github.com/baskerville/bspwm
+
+
+# WM INDEPENDENT KEYBINDINGS
+
+# make sxhkd reload its configuration files:
+super + Escape
+ pkill -USR1 -x sxhkd
+
+
+# BSPWM HOTKEYS
+
+# quit/restart bspwm
+super + shift + {q,r}
+ bspc {quit,wm -r}
+
+# close and kill
+super + q
+ bspc node -c
+
+# alternate between the tiled and monocle layout
+super + m
+ bspc desktop -l next
+
+# send the newest marked node to the newest preselected node
+super + y
+ bspc node newest.marked.local -n newest.!automatic.local
+
+# swap the current node and the biggest node
+super + g
+ bspc node -s biggest
+
+
+# STATE/FLAGS
+
+# set the window state
+super + {t,shift + t,s,f}
+ bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
+
+# set the node flags
+super + ctrl + {m,x,y,z}
+ bspc node -g {marked,locked,sticky,private}
+
+
+# FOCUS/SWAP
+
+# focus the node in the given direction
+super + {_,shift + }{h,j,k,l}
+ bspc node -{f,s} {west,south,north,east}
+
+# focus the node for the given path jump
+super + {p,b,comma,period}
+ bspc node -f @{parent,brother,first,second}
+
+# focus the next/previous node in the current desktop
+super + {_,shift + }n
+ bspc node -f {next,prev}.local
+
+# focus the next/previous desktop in the current monitor
+super + bracket{left,right}
+ bspc desktop -f {prev,next}.local
+
+# focus the last node/desktop
+super + {grave,Tab}
+ bspc {node,desktop} -f last
+
+# 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
+
+# focus or send to the given desktop
+super + {_,shift + }{1-9,0}
+ bspc {desktop -f,node -d} focused:'^{1-9,10}'
+
+
+# PRESELECT
+
+# preselect the direction
+super + ctrl + {h,j,k,l}
+ 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
+super + ctrl + Escape
+ bspc node -p cancel
+
+# cancel the preselection for the focused desktop
+super + 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
+ctrl + 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
+ctrl + 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}
+
+
+# APPLICATION KEYBINDINGS (Super + Alt + Key)
+
+# rofi launcher
+super + @space
+ rofi -no-lazy-grab -show drun -theme $HOME/.config/rofi/config.rasi
+
+# terminal emulator
+super + Return
+ alacritty
+
+# browser
+super + b
+ firefox
+
+# file manager
+super + f
+ alacritty -e lf
+
+# system monitor
+super + `
+ alacritty -e htop