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