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