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