sxhkdrc (3108B)
1 # 2 # wm independent hotkeys 3 # 4 5 XF86Audio{Prev,Next} 6 mpc -q {prev,next} 7 8 XF86AudioLowerVolume 9 pactl set-sink-volume 0 -5% 10 11 XF86AudioRaiseVolume 12 pactl set-sink-volume 0 +5% 13 14 XF86AudioMute 15 pactl set-sink-mute 0 toggle 16 17 XF86AudioMicMute 18 pactl set-source-mute 1 toggle 19 20 # terminal emulator 21 super + Return 22 kitty 23 24 # program launcher 25 super + d 26 dmenu_run 27 28 # make sxhkd reload its configuration files: 29 super + Escape 30 pkill -USR1 -x sxhkd 31 32 # 33 # bspwm hotkeys 34 # 35 36 # quit/restart bspwm 37 super + shift + {e,r} 38 bspc {quit,wm -r} 39 40 # close and kill 41 super + {shift + , alt + shift + }q 42 bspc node -{c,k} 43 44 # alternate between the tiled and monocle layout 45 super + s 46 bspc desktop -l next 47 48 # music 49 super + y 50 bspc desktop -f '^2' && (pgrep >/dev/null ncmpcpp || kitty -e zsh -ic ncmpcpp) 51 52 super + p 53 mpc toggle 54 55 super + n 56 mpc next 57 58 super + l 59 mpc prev 60 61 # emacs 62 super + m 63 emacsclient -c -e '(mu4e)' 64 65 super + t 66 emacsclient -c 67 68 # send the newest marked node to the newest preselected node 69 #super + y 70 # bspc node newest.marked.local -n newest.!automatic.local 71 72 # swap the current node and the biggest window 73 super + g 74 bspc node -s biggest.window 75 76 # 77 # state/flags 78 # 79 80 # set the window state 81 super + {a,shift + t,shift + @space,f} 82 xdo above -t $(xdo id -n root) $(xdo id -n polybar) && bspc node -t {tiled,pseudo_tiled,'~floating','~fullscreen'} 83 84 # set the node flags 85 super + ctrl + {m,x,y,z} 86 bspc node -g {marked,locked,sticky,private} 87 88 # 89 # focus/swap 90 # 91 92 # focus the node in the given direction 93 super + {_,shift + }{Left,Down,Up,Right} 94 bspc node -{f,s} {west,south,north,east} 95 96 # focus the node for the given path jump 97 #super + {p,b,comma,period} 98 # bspc node -f @{parent,brother,first,second} 99 100 # focus the next/previous window in the current desktop 101 #super + {_,shift + }c 102 # bspc node -f {next,prev}.local.!hidden.window 103 104 # focus the next/previous desktop in the current monitor 105 super + bracket{left,right} 106 bspc desktop -f {prev,next}.local 107 108 # focus the last node/desktop 109 super + {grave,Tab} 110 bspc {node,desktop} -f last 111 112 # focus the older or newer node in the focus history 113 super + {o,i} 114 bspc wm -h off; \ 115 bspc node {older,newer} -f; \ 116 bspc wm -h on 117 118 # focus or send to the given desktop 119 super + {_,shift + }{1-9,0} 120 bspc {desktop -f,node -d} '^{1-9,10}' 121 122 # 123 # preselect 124 # 125 126 # preselect the direction 127 super + ctrl + {h,j,k,l} 128 bspc node -p {west,south,north,east} 129 130 # preselect the ratio 131 super + ctrl + {1-9} 132 bspc node -o 0.{1-9} 133 134 # cancel the preselection for the focused node 135 super + ctrl + space 136 bspc node -p cancel 137 138 # cancel the preselection for the focused desktop 139 super + ctrl + shift + space 140 bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel 141 142 # 143 # move/resize 144 # 145 146 # expand a window by moving one of its side outward 147 super + alt + {h,j,k,l} 148 bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} 149 150 # contract a window by moving one of its side inward 151 super + alt + shift + {h,j,k,l} 152 bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} 153 154 # move a floating window 155 super + {Left,Down,Up,Right} 156 bspc node -v {-20 0,0 20,0 -20,20 0} 157 158 super + e 159 nemo