a34d5620aced180c97a4d585f3d0020644730f6d
[~bandali/configs] / sxhkd / .config / sxhkd / sxhkdrc
1 #
2 # wm independent hotkeys
3 #
4
5 # terminal emulator
6 super + {_,shift} + Return
7 urxvt{_, -name tiled}
8
9 # program launcher
10 super + space
11 rofi -show run
12
13 super + alt + space
14 xfce4-popup-whiskermenu
15
16 # window finder
17 super + backslash
18 rofi -show window
19
20 # password manager
21 super + shift + space
22 rofi-pass
23
24 # firefox
25 #super + r
26 # firefox
27
28 # chromium
29 #super + c
30 # chromium -incognito
31
32 # emacs
33 super + e
34 emacs
35
36 # make sxhkd reload its configuration files:
37 super + Escape
38 pkill -USR1 -x sxhkd
39
40 # volume {up,down}
41 XF86Audio{Raise,Lower}Volume
42 pamixer --allow-boost --{in,de}crease 5
43
44 # mute
45 XF86AudioMute
46 pamixer --toggle-mute
47
48 # playback control
49 XF86Audio{Play,Prev,Next}
50 mpc {toggle,prev,next}
51
52 # lock the screen
53 super + shift + q
54 light-locker-command -l
55
56 # Toggle keyboard layout
57 XF86LaunchA
58 toggle-layout
59
60 # Toggle Xfce presentation mode
61 XF86LaunchB
62 toggle-presentation-mode
63
64 # monitor brightness
65 XF86MonBrightness{Up,Down}
66 light -s mba6x_backlight -{A,U} 5
67
68 # keyboard brightness
69 #XF86KbdBrightness{Up,Down}
70 # kbdlight {up,down}
71
72 #
73 # bspwm hotkeys
74 #
75
76 # quit bspwm normally
77 super + alt + Escape
78 bspc quit
79
80 # close and kill
81 super + {w,q}
82 bspc node -{c,k}
83
84 # alternate between the tiled and monocle layout
85 super + m
86 bspc desktop -l next
87
88 # if the current node is automatic, send it to the last manual, otherwise pull the last leaf
89 super + y
90 bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused
91
92 # swap the current node and the biggest node
93 super + g
94 bspc node -s biggest
95
96 #
97 # state/flags
98 #
99
100 # set the window state
101 super + {t,shift + t,s,f}
102 bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
103
104 # set the node flags
105 super + ctrl + {x,y,z}
106 bspc node -g {locked,sticky,private}
107
108 #
109 # focus/swap
110 #
111
112 # focus the node in the given direction
113 super + {_,shift + }{h,j,k,l}
114 bspc node -{f,s} {west,south,north,east}
115
116 # focus the node for the given path jump
117 super + {p,b,comma,period}
118 bspc node -f @{parent,brother,first,second}
119
120 # focus the next/previous node in the current desktop
121 super + {_,shift + }c
122 bspc node -f {next,prev}.local
123
124 # focus the next/previous desktop in the current monitor
125 super + bracket{left,right}
126 bspc desktop -f {prev,next}.local
127
128 # send to next/prev desktop
129 super + shift + bracket{left,right}
130 bspc node -d {prev,next}
131
132 # focus the last node/desktop
133 super + {grave,Tab}
134 bspc {node,desktop} -f last
135
136 # focus the older or newer node in the focus history
137 super + {o,i}
138 bspc wm -h off; \
139 bspc node {older,newer} -f; \
140 bspc wm -h on
141
142 # focus or send to the given desktop
143 super + {_,shift + }{1-9,0}
144 bspc {desktop -f,node -d} '^{1-9,10}'
145
146 #
147 # preselect
148 #
149
150 # preselect the direction
151 super + ctrl + {h,j,k,l}
152 bspc node -p {west,south,north,east}
153
154 # preselect the ratio
155 super + ctrl + {1-9}
156 bspc node -o 0.{1-9}
157
158 # cancel the preselection for the focused node
159 super + ctrl + space
160 bspc node -p cancel
161
162 # cancel the preselection for the focused desktop
163 super + ctrl + shift + space
164 bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
165
166 #
167 # move/resize
168 #
169
170 # expand a window by moving one of its side outward
171 super + alt + {h,j,k,l}
172 bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
173
174 # contract a window by moving one of its side inward
175 super + alt + shift + {h,j,k,l}
176 bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
177
178 # move a floating window
179 super + {Left,Down,Up,Right}
180 bspc node -v {-20 0,0 20,0 -20,20 0}