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