]> git.lizzy.rs Git - bspwm.git/blob - examples/sxhkdrc
Add `newest` descriptor and `marked` node flag
[bspwm.git] / examples / sxhkdrc
1 #
2 # wm independent hotkeys
3 #
4
5 # terminal emulator
6 super + Return
7         urxvt
8
9 # program launcher
10 super + @space
11         dmenu_run
12
13 # make sxhkd reload its configuration files:
14 super + Escape
15         pkill -USR1 -x sxhkd
16
17 #
18 # bspwm hotkeys
19 #
20
21 # quit bspwm normally
22 super + alt + Escape
23         bspc quit
24
25 # close and kill
26 super + {_,shift + }w
27         bspc node -{c,k}
28
29 # alternate between the tiled and monocle layout
30 super + m
31         bspc desktop -l next
32
33 # send the newest marked node to the newest preselected node
34 super + y
35         bspc newest.marked.local -n newest.!automatic.local
36
37 # swap the current node and the biggest node
38 super + g
39         bspc node -s biggest
40
41 #
42 # state/flags
43 #
44
45 # set the window state
46 super + {t,shift + t,s,f}
47         bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
48
49 # set the node flags
50 super + ctrl + {m,x,y,z}
51         bspc node -g {marked,locked,sticky,private}
52
53 #
54 # focus/swap
55 #
56
57 # focus the node in the given direction
58 super + {_,shift + }{h,j,k,l}
59         bspc node -{f,s} {west,south,north,east}
60
61 # focus the node for the given path jump
62 super + {p,b,comma,period}
63         bspc node -f @{parent,brother,first,second}
64
65 # focus the next/previous node in the current desktop
66 super + {_,shift + }c
67         bspc node -f {next,prev}.local
68
69 # focus the next/previous desktop in the current monitor
70 super + bracket{left,right}
71         bspc desktop -f {prev,next}.local
72
73 # focus the last node/desktop
74 super + {grave,Tab}
75         bspc {node,desktop} -f last
76
77 # focus the older or newer node in the focus history
78 super + {o,i}
79         bspc wm -h off; \
80         bspc node {older,newer} -f; \
81         bspc wm -h on
82
83 # focus or send to the given desktop
84 super + {_,shift + }{1-9,0}
85         bspc {desktop -f,node -d} '^{1-9,10}'
86
87 #
88 # preselect
89 #
90
91 # preselect the direction
92 super + ctrl + {h,j,k,l}
93         bspc node -p {west,south,north,east}
94
95 # preselect the ratio
96 super + ctrl + {1-9}
97         bspc node -o 0.{1-9}
98
99 # cancel the preselection for the focused node
100 super + ctrl + space
101         bspc node -p cancel
102
103 # cancel the preselection for the focused desktop
104 super + ctrl + shift + space
105         bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
106
107 #
108 # move/resize
109 #
110
111 # expand a window by moving one of its side outward
112 super + alt + {h,j,k,l}
113         bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
114
115 # contract a window by moving one of its side inward
116 super + alt + shift + {h,j,k,l}
117         bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
118
119 # move a floating window
120 super + {Left,Down,Up,Right}
121         bspc node -v {-20 0,0 20,0 -20,20 0}