Created
September 29, 2021 10:02
-
-
Save raugustinus/9fc244219d2a373c158fcddcf27dfcc4 to your computer and use it in GitHub Desktop.
sxhkdrc dotfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# wm independent hotkeys | |
# | |
# terminal emulator | |
super + Return | |
alacritty | |
# program launcher | |
super + @space | |
dmenu_run | |
super + alt + @space | |
rofi -show run | |
super + ctrl + @space | |
rofi -show run | |
# make sxhkd reload its configuration files: | |
super + Escape | |
pkill -USR1 -x sxhkd | |
# take interactive screenshot with scrot | |
super + shift + 4 | |
scrot -s ~/screenshots/%b%d_%H_%M_%S.png | |
# | |
# bspwm hotkeys | |
# | |
# quit/restart bspwm | |
super + alt + {q,r} | |
bspc {quit,wm -r} | |
super + ctrl + q | |
xsecurelock | |
# close and kill | |
super + {_,shift + }w | |
bspc node -{c,k} | |
# 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 window | |
super + g | |
bspc node -s biggest.window | |
# | |
# 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 window in the current desktop | |
super + {_,shift + }c | |
bspc node -f {next,prev}.local.!hidden.window | |
# 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} '^{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 + space | |
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 | |
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} | |
# move focused window to the next workspace and then switch to that workspace | |
alt + shift + {Left,Right} | |
id=$(bspc query --nodes --node); bspc node --to-desktop {prev,next}; bspc desktop --focus next; bspc node --focus ${id} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment