-
Notifications
You must be signed in to change notification settings - Fork 3
/
warpd.properties
243 lines (227 loc) · 10.5 KB
/
warpd.properties
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
# When a mode is pushed onto the top of the history stack,
# other modes can refer to it using previous-mode-from-history-stack.
idle-mode.push-mode-to-history-stack=true
idle-mode.to.normal-mode=_{leftalt} +c
normal-mode.push-mode-to-history-stack=true
normal-mode.indicator.enabled=true
normal-mode.to.idle-mode=+esc
normal-mode.mouse.initial-velocity=650
normal-mode.mouse.max-velocity=1250
normal-mode.mouse.acceleration=1500
normal-mode.wheel.initial-velocity=1500
normal-mode.wheel.max-velocity=1000
normal-mode.wheel.acceleration=500
normal-mode.start-move.up=+k
normal-mode.start-move.down=+j
# Require that leftshift remains unpressed to not be executed when the snap.up combo (which
# uses leftshift) is executed.
normal-mode.start-move.left=^{leftshift} +h
normal-mode.start-move.right=^{leftshift} +l
normal-mode.stop-move.up=-k
normal-mode.stop-move.down=-j
normal-mode.stop-move.left=-h
normal-mode.stop-move.right=-l
# v is also used for starting the left button press because it is the drag mode toggle key
normal-mode.press.left=^{leftshift} +m | +n | +v
normal-mode.press.middle=+, | +minus
normal-mode.press.right=+. | +/
normal-mode.release.left=-m | -n
normal-mode.release.middle=-, | -minus
normal-mode.release.right=-. | -/
normal-mode.start-wheel.up=+r
normal-mode.start-wheel.down=+e
# Original warpd does not have wheel left and right commands, these are extra:
normal-mode.start-wheel.left=+w
normal-mode.start-wheel.right=+t
normal-mode.stop-wheel.up=-r
normal-mode.stop-wheel.down=-e
normal-mode.stop-wheel.left=-w
normal-mode.stop-wheel.right=-t
# Invisible grid used for snapping to the screen's edges
normal-mode.grid.area=active-screen
normal-mode.grid.area-width-percent=0.99
normal-mode.grid.area-height-percent=0.99
normal-mode.grid.row-count=1
normal-mode.grid.column-count=1
# Require that leftalt remains unpressed
normal-mode.snap.up=^{leftalt} _{leftshift} +h
normal-mode.snap.down=_{leftshift} +l
normal-mode.snap.left=+0
normal-mode.snap.right=_{leftshift} +4
normal-mode.move-to-grid-center=_{leftshift} +m
normal-mode.to.accelerated-mode=+a
accelerated-mode.to.normal-mode=-a
# Copy the indicator configuration from normal-mode
accelerated-mode.indicator=normal-mode.indicator
# Copy the mouse configuration from normal-mode and refine it
accelerated-mode.mouse=normal-mode.mouse
accelerated-mode.mouse.max-velocity=1700
accelerated-mode.mouse.acceleration=3000
accelerated-mode.wheel.max-velocity=10000
accelerated-mode.wheel.acceleration=10000
accelerated-mode.start-move=normal-mode.start-move
accelerated-mode.stop-move=normal-mode.stop-move
accelerated-mode.start-wheel=normal-mode.start-wheel
accelerated-mode.stop-wheel=normal-mode.stop-wheel
accelerated-mode.press=normal-mode.press
accelerated-mode.release=normal-mode.release
accelerated-mode.grid=normal-mode.grid
accelerated-mode.snap=normal-mode.snap
accelerated-mode.move-to-grid-center=normal-mode.move-to-grid-center
normal-mode.to.decelerated-mode=+d
decelerated-mode.to.normal-mode=-d
decelerated-mode.indicator=normal-mode.indicator
decelerated-mode.mouse=normal-mode.mouse
decelerated-mode.mouse.max-velocity=200
decelerated-mode.wheel.max-velocity=200
decelerated-mode.start-move=normal-mode.start-move
decelerated-mode.stop-move=normal-mode.stop-move
decelerated-mode.start-wheel=normal-mode.start-wheel
decelerated-mode.stop-wheel=normal-mode.stop-wheel
decelerated-mode.press=normal-mode.press
decelerated-mode.release=normal-mode.release
decelerated-mode.grid=normal-mode.grid
decelerated-mode.snap=normal-mode.snap
decelerated-mode.move-to-grid-center=normal-mode.move-to-grid-center
normal-mode.to.drag-mode=-v
drag-mode.to.normal-mode=+v -v | ^{leftshift} -m | -, | -.
drag-mode.to.idle-mode=+esc
drag-mode.indicator=normal-mode.indicator
drag-mode.mouse=normal-mode.mouse
drag-mode.start-move=normal-mode.start-move
drag-mode.stop-move=normal-mode.stop-move
drag-mode.press.left=+m
drag-mode.press.middle=+,
drag-mode.press.right=+.
# When switching back to normal mode or idle mode,
# the left button should be released.
drag-mode.release.left=+esc | +v | ^{leftshift} -m | -, | -.
drag-mode.release.middle=-,
drag-mode.release.right=-.
drag-mode.grid=normal-mode.grid
drag-mode.snap=normal-mode.snap
drag-mode.move-to-grid-center=normal-mode.move-to-grid-center
normal-mode.to.oneshot-mode=-n | -minus | -/
oneshot-mode.to.idle-mode=+esc
oneshot-mode.indicator=normal-mode.indicator
# The user has 250ms to perform a double click in
# oneshot mode before we go back to idle mode.
oneshot-mode.timeout.duration-millis=250
oneshot-mode.timeout.mode=idle-mode
oneshot-mode.press=normal-mode.press
oneshot-mode.release=normal-mode.release
idle-mode.to.grid-mode=_{leftalt} +g
normal-mode.to.grid-mode=+g
grid-mode.to.oneshot-mode=-n | -minus | -/
grid-mode.to.idle-mode=+esc
grid-mode.to.normal-mode=+c -c
grid-mode.grid.area=active-screen
grid-mode.grid.area-width-percent=1.0
grid-mode.grid.area-height-percent=1.0
grid-mode.grid.synchronization=mouse-follows-grid-center
grid-mode.grid.line-visible=true
grid-mode.grid.line-color=#FF0000
# u, i, j, k are used for multiple commands.
# For example, u shrinks the grid both up and left.
grid-mode.shrink-grid.up=_{leftshift} +w | +u | +i
grid-mode.shrink-grid.down=_{leftshift} +s | +j | +k
grid-mode.shrink-grid.left=_{leftshift} +a | +u | +j
grid-mode.shrink-grid.right=_{leftshift} +d | +i | +k
grid-mode.move-grid.up=^{leftshift} +w
grid-mode.move-grid.down=^{leftshift} +s
grid-mode.move-grid.left=^{leftshift} +a
grid-mode.move-grid.right=^{leftshift} +d
grid-mode.press=normal-mode.press
grid-mode.release=normal-mode.release
# Require that leftshift remains unpressed
idle-mode.to.hint1-mode=^{leftshift} _{leftalt} +x
normal-mode.to.hint1-mode=+x
hint1-mode.to.previous-mode-from-history-stack=+esc | +backspace
hint1-mode.hint.type=grid
hint1-mode.hint.grid-area=active-screen
hint1-mode.hint.active-screen-grid-area-center=screen-center
hint1-mode.hint.grid-max-row-count=26
hint1-mode.hint.grid-max-column-count=26
hint1-mode.hint.grid-cell-width=72
hint1-mode.hint.grid-cell-height=40
key-alias.hint1key=a b c d e f g h i j k l m n o p q r s t u v w x y z
hint1-mode.hint.selection-keys=hint1key
hint1-mode.hint.undo=backspace
hint1-mode.hint.mode-after-selection=previous-mode-from-history-stack
hint1-mode.hint.save-position-after-selection=true
# Require that both leftshift and leftalt remain pressed
idle-mode.to.hint2-1-mode=_{leftshift leftalt} +x
normal-mode.to.hint2-1-mode=_{leftshift} +x
hint2-1-mode.to.previous-mode-from-history-stack=+esc | +backspace
hint2-1-mode.hint=hint1-mode.hint
hint2-1-mode.hint.mode-after-selection=hint2-2-mode
hint2-1-mode.hint.save-position-after-selection=false
hint2-2-mode.to.previous-mode-from-history-stack=+esc | +backspace
hint2-2-mode.to.hint2-1-mode=+backspace
hint2-2-mode.hint=hint1-mode.hint
hint2-2-mode.hint.active-screen-grid-area-center=mouse
hint2-2-mode.hint.grid-max-row-count=4
hint2-2-mode.hint.grid-max-column-count=5
hint2-2-mode.hint.grid-cell-width=22
hint2-2-mode.hint.grid-cell-height=17
key-alias.hint2key=h j k l ; a s d f g q w e r t y u i o p z x c v b
hint2-2-mode.hint.selection-keys=hint2key
hint2-2-mode.hint.font-size=8
hint2-2-mode.hint.mode-after-selection=previous-mode-from-history-stack
idle-mode.to.hint1-then-click-mode=^{leftshift} _{leftalt} +l
hint1-then-click-mode.to.previous-mode-from-history-stack=+esc | +backspace
hint1-then-click-mode.hint=hint1-mode.hint
# Click left button when a hint has been selected
hint1-then-click-mode.hint.mode-after-selection=click-after-hint1-mode
hint1-then-click-mode.hint.swallow-hint-end-key-press=false
click-after-hint1-mode.press.left=+hint1key
click-after-hint1-mode.release.left=+hint1key-0-250 -hint1key
click-after-hint1-mode.timeout.duration-millis=250
click-after-hint1-mode.timeout.mode=previous-mode-from-history-stack
# After a hint is selected, quickly press the same last hint key again to perform a second click.
# We switch the mode to itself to reset the timeout and be able to click again using the hint key.
click-after-hint1-mode.to.click-after-hint1-mode=+hint1key-0-250 -hint1key
# Timeout will not be triggered if left button is pressed. We force the switch to normal mode when pressing for over 250ms.
click-after-hint1-mode.to.normal-mode=+hint1key-250 -hint1key
idle-mode.to.hint2-1-then-click-mode=_{leftshift leftalt} +l
hint2-1-then-click-mode.to.previous-mode-from-history-stack=+esc | +backspace
hint2-1-then-click-mode.hint=hint2-1-mode.hint
hint2-1-then-click-mode.hint.mode-after-selection=hint2-2-then-click-mode
hint2-2-then-click-mode.to.previous-mode-from-history-stack=+esc
hint2-2-then-click-mode.to.hint2-1-then-click-mode=+backspace
hint2-2-then-click-mode.hint=hint2-2-mode.hint
# Click left button when a hint has been selected
hint2-2-then-click-mode.hint.mode-after-selection=click-after-hint2-mode
hint2-2-then-click-mode.hint.swallow-hint-end-key-press=false
click-after-hint2-mode.press.left=+hint2key
click-after-hint2-mode.release.left=+hint2key-0-250 -hint2key
click-after-hint2-mode.timeout.duration-millis=250
click-after-hint2-mode.timeout.mode=previous-mode-from-history-stack
click-after-hint2-mode.to.click-after-hint2-mode=+hint2key-0-250 -hint2key
click-after-hint2-mode.to.normal-mode=+hint2key-250 -hint2key
idle-mode.to.screen-selection-mode=_{leftalt} +s
normal-mode.to.screen-selection-mode=+s
screen-selection-mode.to.previous-mode-from-history-stack=+esc
screen-selection-mode.hint.type=grid
screen-selection-mode.hint.grid-area=all-screens
screen-selection-mode.hint.grid-max-row-count=1
screen-selection-mode.hint.grid-max-column-count=1
screen-selection-mode.hint.selection-keys=j k l ; a s d f g
screen-selection-mode.hint.font-size=80
screen-selection-mode.hint.mode-after-selection=previous-mode-from-history-stack
screen-selection-mode.hint.save-position-after-selection=true
idle-mode.to.position-history-mode=_{leftalt} +h
idle-mode.position-history.save-position=_{leftalt} +h
normal-mode.to.position-history-mode=+;
normal-mode.position-history.save-position=+;
position-history-mode.to.previous-mode-from-history-stack=+esc | +backspace
position-history-mode.hint=hint1-mode.hint
position-history-mode.hint.font-size=20
# Original warpd does not have a command for clearing the history, this is extra:
# Clear the position history when leftalt is pressed and held for 1000ms (1s).
position-history-mode.position-history.clear=+leftalt-1000
position-history-mode.to.normal-mode=+leftalt-1000
position-history-mode.hint.type=position-history
position-history-mode.hint.mode-after-selection=previous-mode-from-history-stack
normal-mode.position-history.cycle-next=_{leftctrl} +i
normal-mode.position-history.cycle-previous=_{leftctrl} +o