-
Notifications
You must be signed in to change notification settings - Fork 42
/
Copy pathvtm.xml
554 lines (553 loc) · 39.3 KB
/
vtm.xml
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
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
R"==(<!-- Ordered list of paths to settings files. -->
<!-- <file*/> Specify a new list and clear previously defined sources. -->
<!-- <file="/path/to/settings.xml"/> The settings (the <config> subsection only) will be loaded and overlayed in the specified order. -->
<file*/> <!-- Clear previously defined sources. Start a new list. -->
<file="/etc/vtm/settings.xml"/> <!-- Default system-wide settings source. The "/etc/..." path will be auto converted to the "%PROGRAMDATA%\..." on Windows. -->
<file="~/.config/vtm/settings.xml"/> <!-- Default user-wise settings source. -->
<config> <!-- App configuration. -->
<scripting=off engine="python"> <!-- Not implemented, see gh-393 for details. -->
<python cwd="" usetty=no cmd="python -i" run="print(\"Hello World!\")"/>
<pwsh cwd="" usetty=yes cmd="pwsh -NonInteractive" run="\"Hello World!\""/>
<lua cwd="" usetty=no cmd="lua -i" run="print \"Hello World!\""/>
<javascript cwd="" usetty=no cmd="node -i">
<run>
console.log("Hello, World!");
</run>
</javascript>
</scripting>
<gui> <!-- GUI mode related settings. (win32 platform only for now) -->
<antialiasing=on/> <!-- Antialiasing of rendered glyphs. Note: Multi-layered color glyphs such as emoji are always antialiased. -->
<cellheight=22/> <!-- Text cell height in physical pixels. Note: The width of the text cell depends on the primary font (the first one in the font list). -->
<gridsize=""/> <!-- Window initial grid size "width,height" in text cells. If gridsize="" or gridsize=0,0, then the size of the GUI window is left to the OS window manager. -->
<wincoor=""/> <!-- Window initial coordinates "x,y" (top-left corner on the desktop in physical pixels). If wincoor="", then the position of the GUI window is left to the OS window manager. -->
<winstate="normal"/> <!-- Window initial state: normal | maximized | minimized . -->
<blinkrate=400ms/> <!-- SGR5/6 attribute blink rate. Blinking will be disabled when set to zero. -->
<fonts> <!-- Font fallback ordered list. The rest of the fonts available in the system will be loaded dynamically. -->
<font*/> <!-- Clear previously defined fonts. Start a new list. -->
<font="Courier New"/> <!-- The first font in the list: Primary font. Its metrics define the cell geometry. -->
<font="Cascadia Mono"/>
<font="NSimSun"/>
<font="Noto Sans Devanagari"/>
</fonts>
</gui>
<cursor>
<style="bar"/> <!-- Cursor style: "bar" | "block" | "underline" ( | █ _ ). -->
<blink=400ms/> <!-- Cursor blink period. Set to zero for a steady cursor. -->
<show=true/>
<color fgc=color/default bgc=color/default/> <!-- Cursor cell color. By default, the cursor color (bgc) is set to either black or white depending on the lightness of the underlying text background. -->
</cursor>
<tooltips> <!-- Not implemented for GUI mode. -->
<timeout=2000ms/>
<enabled=true/>
<color fgc=pureblack bgc=purewhite/>
</tooltips>
<debug>
<logs=off/> <!-- Enable logging. Use the Logs or vtm monitor mode (vtm -m) to see the log output. -->
<overlay=off/> <!-- Show debug overlay. -->
<regions=0/> <!-- Highlight UI objects boundaries. -->
</debug>
<clipboard>
<preview enabled=no size=80x25> <!-- Not implemented for GUI mode. -->
<color fgc=whitelt bgc=bluedk/>
<alpha=0xFF/> <!-- Preview alpha is applied only to the ansi/rich/html text type. -->
<timeout=3s/> <!-- Preview hiding timeout. Set it to zero to disable hiding. -->
<shadow=3 /> <!-- Preview shadow strength (0-5). -->
</preview>
<format="html"/> <!-- Default clipboard format for screenshots: "text" | "ansi" | "rich" | "html" | "protected" . -->
</clipboard>
<colors> <!-- Along with fgc, bgc and txt, other SGR attributes (boolean) are allowed here: itc: italic, bld: bold, und: underline, inv: reverse, ovr: overline, blk: blink. -->
<window fgc=whitelt bgc=0x80404040 /> <!-- Base desktop window color. -->
<focus fgc=purewhite bgc=bluelt /> <!-- Focused item tinting. -->
<brighter fgc=purewhite bgc=purewhite alpha=60/> <!-- Brighter. -->
<shadower bgc=0xB4202020 /> <!-- Dimmer. -->
<warning fgc=whitelt bgc=yellowdk /> <!-- "Warning" color. -->
<danger fgc=whitelt bgc=purered /> <!-- "Danger" color. -->
<action fgc=whitelt bgc=greenlt /> <!-- "Action" color. -->
</colors>
<timings>
<fps=60/> <!-- Frames per second. Maximum frequency of rendering UI updates. -->
<kinetic> <!-- Kinetic scrolling. -->
<spd = 10 /> <!-- Initial speed component ΔR. -->
<pls = 167 /> <!-- Initial speed component ΔT. -->
<ccl = 120 /> <!-- Duration in ms. -->
<spd_accel = 1 /> <!-- Speed accelation. -->
<ccl_accel = 30 /> <!-- Additional duration in ms. -->
<spd_max = 100 /> <!-- Max speed. -->
<ccl_max = 1000/> <!-- Max duration in ms. -->
</kinetic>
<switching = 200ms/> <!-- Duration of an object state switching. -->
<deceleration = 2s /> <!-- Duration of stopping a moving object. -->
<leave_timeout = 1s /> <!-- Timeout off the active object (e.g. after mouse leaving scrollbar). -->
<repeat_delay = 500ms/> <!-- Repeat delay. -->
<repeat_rate = 30ms /> <!-- Repeat rate. -->
<dblclick = 500ms/> <!-- Mouse double click threshold. -->
</timings>
<set> <!-- Global namespace - Unresolved literals will try to be resolved from here. -->
<blackdk = 0xFF101010 /> <!-- Color reference literals. -->
<reddk = 0xFFc40f1f />
<greendk = 0xFF12a10e />
<yellowdk = 0xFFc09c00 />
<bluedk = 0xFF0037db />
<magentadk = 0xFF871798 />
<cyandk = 0xFF3b96dd />
<whitedk = 0xFFbbbbbb />
<blacklt = 0xFF757575 />
<redlt = 0xFFe64856 />
<greenlt = 0xFF15c60c />
<yellowlt = 0xFFf8f1a5 />
<bluelt = 0xFF3a78ff />
<magentalt = 0xFFb3009e />
<cyanlt = 0xFF60d6d6 />
<whitelt = 0xFFf3f3f3 />
<pureblack = 0xFF000000 />
<purewhite = 0xFFffffff />
<purered = 0xFFff0000 />
<puregreen = 0xFF00ff00 />
<pureblue = 0xFF0000ff />
<puremagenta = 0xFFff00ff />
<purecyan = 0xFF00ffff />
<pureyellow = 0xFFff00ff />
<nocolor = 0x00000000 />
<color>
<default = 0x00ffffff />
<transparent = nocolor />
</color>
<menu>
<autohide=no/> <!-- Auto hide window menu items on mouse leave. -->
<slim=true/> <!-- Make the window menu one cell high (slim=true) or three cells high (slim=false). -->
</menu>
<selection>
<mode="text"/> <!-- Clipboard copy format: "text" | "ansi" | "rich" | "html" | "protected" | "none" . -->
<rect=false/> <!-- Preferred selection form: Rectangular: true, Linear: false. -->
</selection>
</set>
<desktop> <!-- Desktop client settings. -->
<viewport coor=0,0/> <!-- Viewport position for the first connected user. At runtime, this value is temporarily replaced with the next disconnecting user's viewport coordinates to restore the viewport position on reconnection. -->
<windowmax=3000x2000/> <!-- Maximum window cell grid size. -->
<macstyle=no/> <!-- Preferred window control buttons location. no: right corner (like on MS Windows), yes: left side (like on macOS). -->
<taskbar wide=off selected="Term"> <!-- Taskbar menu. wide: Set wide/compact menu layout; selected: Set selected taskbar menu item id. -->
<item*/> <!-- Clear all previously defined items. Start a new list of items. -->
<item splitter label="apps">
<tooltip>
" Default applications group \n"
" It can be configured in ~/.config/vtm/settings.xml "
</tooltip>
</item>
<item* hidden=no winsize=0,0 wincoor=0,0 winform="normal"/> <!-- Asterisk in the xml node name to set default node values (it is a template). -->
<item id="Term" label="Terminal Emulator" type="dtvt" title="Terminal" cmd="$0 -r term">
<tooltip>
" Terminal Console \n"
" LeftClick to launch instance \n"
" RightClick to set as default "
</tooltip>
<config> <!-- The following config partially overrides the base configuration. It is valid for DirectVT apps only. -->
<terminal>
<scrollback>
<size=40000/> <!-- Scrollback buffer length. -->
<wrap=on/> <!-- Lines wrapping mode. -->
</scrollback>
<selection>
<mode=/config/set/selection/mode/> <!-- Clipboard copy format: "text" | "ansi" | "rich" | "html" | "protected" | "none" . -->
</selection>
</terminal>
</config>
</item>
<item id="Tile" label="Window Manager" type="tile" title="Window Manager" cmd="h1:1(Term, Term)" tooltip=" Tiling Window Manager \n LeftClick to launch instance \n RightClick to set as default "/>
<item id="Site" label="Viewport Marker" type="site" title="\e[11:3pSite " cmd="@" winform="maximized" tooltip=" Desktop Viewport Marker \n LeftClick to launch instance \n RightClick to set as default "/> <!-- "\e[11:3p" for center alignment, cmd="@" for instance numbering -->
<item id="Logs" label="Desktop Logs" type="dtvt" title="Logs" cmd="$0 -q -r term $0 -m" tooltip=" Log Monitor \n LeftClick to launch instance \n RightClick to set as default ">
<config>
<terminal>
<scrollback>
<size=5000/>
<wrap="off"/>
</scrollback>
)=="
R"==(
<menu item*>
<autohide=menu/autohide/>
<slim=menu/slim/>
<item action=TerminalFindPrev> <!-- type=Command is a default item's attribute. -->
<tooltip>
" Previous match \n"
" LeftClick to jump to previous match or scroll \n"
" one page up if nothing to search \n"
" Match clipboard data if no selection "
</tooltip>
<label="<"/>
<label="\e[38:2:0:255:0m<\e[m"/>
</item>
<item action=TerminalFindNext>
<tooltip>
" Next match \n"
" LeftClick to jump to next match or scroll \n"
" one page down if nothing to search \n"
" Match clipboard data if no selection "
</tooltip>
<label=">"/>
<label="\e[38:2:0:255:0m>\e[m"/>
</item>
<item type="Option" action=TerminalWrapMode>
<tooltip>
" Wrapping text lines on/off \n"
" Applied to selection if it is "
</tooltip>
<label="Wrap" data="off"/>
<label="\e[38:2:0:255:0mWrap\e[m" data="on"/>
</item>
<item type="Option" action=TerminalClipboardFormat tooltip=" Clipboard format "> <!-- type=Option means that the тext label will be selected when clicked. -->
<label="Clipboard" data="none"/>
<label="\e[38:2:0:255:0mPlaintext\e[m" data="text"/>
<label="\e[38:2:255:255:0mANSI-text\e[m" data="ansi"/>
<label data="rich">
"\e[38:2:109:231:237m""R"
"\e[38:2:109:237:186m""T"
"\e[38:2:60:255:60m" "F"
"\e[38:2:189:255:53m" "-"
"\e[38:2:255:255:49m" "s"
"\e[38:2:255:189:79m" "t"
"\e[38:2:255:114:94m" "y"
"\e[38:2:255:60:157m" "l"
"\e[38:2:255:49:214m" "e" "\e[m"
</label>
<label="\e[38:2:0:255:255mHTML-code\e[m" data="html"/>
<label="\e[38:2:0:255:255mProtected\e[m" data="protected"/>
</item>
<item action=TerminalOutput tooltip=" Clear scrollback and SGR-attributes ">
<label="Reset" data="\e[!p"/>
</item>
</menu>
)=="
R"==(
</terminal>
</config>
</item>
<autorun item*> <!-- Autorun specified menu items: -->
<!-- <item* id=Term winsize=80,25 /> -->
<!-- <item wincoor=92,31 winform=minimized /> --> <!-- Autorun supports minimized winform only. -->
<!-- <item wincoor=8,31 /> -->
<!-- <item wincoor=8,4 winsize=164,25 focused /> -->
</autorun>
<width> <!-- Taskbar menu width. -->
<folded=18/>
<expanded=32/>
</width>
<timeout=250ms/> <!-- Taskbar collaplse timeout after mouse leave. -->
<colors>
<bground fgc=whitedk bgc=0xC0202020 /> <!-- Set the bgc color non-transparent (alpha to FF) to disable acrylics in taskbar. -->
<focused fgc=puregreen /> <!-- Focused taskbar item color. -->
<selected fgc=whitelt /> <!-- Default taskbar item color. -->
<active fgc=whitelt /> <!-- Running taskbar item color. -->
<inactive fgc=blacklt bgc=color.transparent/> <!-- Blocked taskbar item color (e.g. when the app is maximized by a remote user). -->
</colors>
</taskbar>
<panel> <!-- Desktop info panel. -->
<env=""/> <!-- Environment block. -->
<cmd=""/> <!-- Command-line to activate. -->
<cwd=""/> <!-- Working directory. -->
<height=1/> <!-- Desktop space reserved on top. -->
</panel>
<background> <!-- Desktop background. -->
<color fgc=whitedk bgc=0x80000000/> <!-- Desktop background color. -->
<tile=""/> <!-- Truecolor ANSI-art with gradients can be used here. -->
</background>
<shadow enabled=0> <!-- Desktop window shadows (TUI mode). -->
<blur=3/> <!-- Blur radius (in cells). Default is "3". -->
<bias=0.37/> <!-- Shadow contour bias [0.0 - 1.0]. Default is "0.37". -->
<opacity=105.5/> <!-- Opacity level (alpha) [0.0 - 255.0]. Default is "105.5". -->
<offset=2,1/> <!-- 2D offset relative to the window (in cells). Default is "2,1". -->
</shadow>
</desktop>
)==" // MSVC2022: C2026 String too big, trailing characters truncated.
R"==(
<terminal> <!-- Base settings for the built-in terminal. It can be partially overridden by the menu item's config subarg. -->
<sendinput=""/> <!-- Send input on startup. E.g. sendinput="echo \"test\"\n" -->
<cwdsync=" cd $P\n"/> <!-- Command to sync the current working directory. When 'Sync' is active, $P (case sensitive) will be replaced with the current path received via OSC9;9 notification. Prefixed with a space to avoid touching command history. -->
<scrollback>
<size=40000 /> <!-- Initial scrollback buffer size. -->
<growstep=0 /> <!-- Scrollback buffer grow step. The buffer behaves like a ring in case of zero. -->
<growlimit=0 /> <!-- Scrollback buffer grow limit. The buffer will behave like a ring when the limit is reached. If set to zero, then the limit is equal to the initial buffer size. -->
<maxline=65535 /> <!-- Max line length. Line splits if it exceeds the limit. -->
<wrap=on /> <!-- Lines wrapping mode. -->
<reset onkey=on onoutput=off/> <!-- Scrollback viewport position reset triggers. -->
<altscroll=on /> <!-- Alternate scroll mode settings. -->
<oversize=0 opacity=0xC0/> <!-- Scrollback horizontal (left and right) oversize. It is convenient for horizontal scrolling. -->
</scrollback>
<colors> <!-- Terminal colors. -->
<color0 = pureblack /> <!-- Link to global <config/set/*/> namespace. -->
<color1 = reddk />
<color2 = greendk />
<color3 = yellowdk />
<color4 = bluedk />
<color5 = magentadk />
<color6 = cyandk />
<color7 = whitedk />
<color8 = blacklt />
<color9 = redlt />
<color10 = greenlt />
<color11 = yellowlt />
<color12 = bluelt />
<color13 = magentalt />
<color14 = cyanlt />
<color15 = whitelt />
<default fgc=whitedk bgc=pureblack/> <!-- Default/current colors (SGR49/39). -->
<bground = color/default/> <!-- Independent background color of the scrollback canvas. Set to 0x00ffffff(or =/config/set/color/default) to sync with SGR49 (default background). -->
<match fx="color" fgc=whitelt bgc=0xFF007F00/> <!-- Color of the selected text occurrences. Set an fx to use cell::shaders: "xlight" | "color" | "invert" | "reverse". -->
<selection>
<text fx="color" fgc=whitelt bgc=bluelt/> <!-- Highlighting of the selected text in plaintext mode. -->
<protected fx="color" fgc=whitelt bgc=bluelt/> <!-- Note: The bgc and fgc attributes only apply to the fx=color shader. -->
<ansi fx="xlight" fgc=whitelt bgc=bluelt/>
<rich fx="xlight" fgc=whitelt bgc=bluelt/>
<html fx="xlight" fgc=whitelt bgc=bluelt/>
<none fx="color" fgc=whitedk bgc=blacklt/> <!-- Inactive selection color. -->
</selection>
</colors>
<border=0/> <!-- Width of the left and right border of the terminal window. -->
<tablen=8/> <!-- Tab length. -->
<menu item*>
<autohide=menu/autohide/> <!-- Link to global <config/set/menu/autohide>. -->
<slim=menu/slim/> <!-- Link to global <config/set/menu/slim>. -->
<item action=TerminalFindPrev> <!-- type=Command is a default item's attribute. -->
<tooltip>
" Previous match \n"
" LeftClick to jump to previous match or scroll \n"
" one page up if nothing to search \n"
" Match clipboard data if no selection "
</tooltip>
<label="<"/>
<label="\e[38:2:0:255:0m<\e[m"/>
</item>
<item action=TerminalFindNext>
<tooltip>
" Next match \n"
" LeftClick to jump to next match or scroll \n"
" one page down if nothing to search \n"
" Match clipboard data if no selection "
</tooltip>
<label=">"/>
<label="\e[38:2:0:255:0m>\e[m"/>
</item>
<item type="Option" action=ExclusiveKeyboardMode>
<tooltip>
" Toggle exclusive keyboard mode \n"
" Exclusive keyboard mode allows keystrokes \n"
" to be passed through without processing "
</tooltip>
<label=" Desktop " data="off"/>
<label="\e[48:2:0:128:128;38:2:0:255:0m Exclusive \e[m" data="on"/>
</item>
<item type="Option" action=TerminalWrapMode>
<tooltip>
" Wrapping text lines on/off \n"
" Applied to selection if it is "
</tooltip>
<label="Wrap" data="off"/>
<label="\e[38:2:0:255:0mWrap\e[m" data="on"/>
</item>
<item type="Option" action=TerminalClipboardFormat tooltip=" Clipboard format "> <!-- type=Option means that the тext label will be selected when clicked. -->
<label="Clipboard" data="none"/>
<label="\e[38:2:0:255:0mPlaintext\e[m" data="text"/>
<label="\e[38:2:255:255:0mANSI-text\e[m" data="ansi"/>
<label data="rich">
"\e[38:2:109:231:237m""R"
"\e[38:2:109:237:186m""T"
"\e[38:2:60:255:60m" "F"
"\e[38:2:189:255:53m" "-"
"\e[38:2:255:255:49m" "s"
"\e[38:2:255:189:79m" "t"
"\e[38:2:255:114:94m" "y"
"\e[38:2:255:60:157m" "l"
"\e[38:2:255:49:214m" "e" "\e[m"
</label>
<label="\e[38:2:0:255:255mHTML-code\e[m" data="html"/>
<label="\e[38:2:0:255:255mProtected\e[m" data="protected"/>
</item>
<!-- <item type="Option" action=TerminalCwdSync> -->
<!-- <label="Sync" data="off" tooltip=" CWD sync is off "/> -->
<!-- <label="\e[38:2:0:255:0mSync\e[m" data="on" tooltip=" CWD sync is on \n Make sure your shell has OSC9;9 enabled "/> -->
<!-- </item> -->
<item type="Option" action=TerminalStdioLog>
<label="Log" data="off" tooltip=" Console logging is off "/>
<label="\e[38:2:0:255:0mLog\e[m" data="on" tooltip=" Console logging is on \n Run Logs to see output "/>
</item>
<item action=TerminalOutput tooltip=" Clear TTY viewport ">
<label="Clear" data="\e[2J"/>
</item>
<item action=TerminalOutput tooltip=" Clear scrollback and SGR-attributes ">
<label="Reset" data="\e[!p"/>
</item>
<!-- <item label="Hello, World!" tooltip=" Simulate keypress " action=TerminalSendKey data="Hello World!"/> -->
</menu>
<selection>
<mode=selection/mode/> <!-- Selection clipboard copy format: "text" | "ansi" | "rich" | "html" | "protected" | "none". -->
<rect=selection/rect/> <!-- Preferred selection form: Rectangular: true, Linear: false. -->
</selection>
<atexit="auto"/> <!-- Behavior after the last console process has terminated: "auto" | "ask" | "close" | "restart" | "retry"
auto: Stay open and ask if exit code != 0. (default)
ask: Stay open and ask.
close: Always close.
restart: Restart session.
retry: Restart session if exit code != 0. -->
</terminal>
)==" // MSVC2022: C2026 String too big, trailing characters truncated.
R"==(
<tile>
<menu item*>
<autohide=menu/autohide/>
<slim=menu/slim/>
<item action=TileRunApplicatoin label=" + ">
<tooltip>
" Launch application instances in active empty slots. \n"
" The app to run can be set by RightClick on the taskbar. "
</tooltip>
</item>
<item action=TileSelectAllPanes label=":::" tooltip=" Select all panes "/>
<item action=TileSplitHorizontally label=" │ " tooltip=" Split active panes horizontally "/>
<item action=TileSplitVertically label="──" tooltip=" Split active panes vertically "/>
<item action=TileSplitOrientation label="┌┘" tooltip=" Change split orientation "/>
<item action=TileSwapPanes label="<->" tooltip=" Swap two or more panes "/>
<item action=TileEqualizeSplitRatio label=">|<" tooltip=" Equalize split ratio "/>
<item action=TileSetManagerTitle label='"…"' tooltip=" Set tiling window manager title using clipboard data "/>
<item action=TileClosePane label="×" tooltip=" Close active application "/>
<!-- <item action=TileFocusPrev label="<" tooltip=" Focus the previous pane or the split grip "/> -->
<!-- <item action=TileFocusNext label=">" tooltip=" Focus the next pane or the split grip "/> -->
<!-- <item action=TileFocusPrevPane label="<-" tooltip=" Focus the previous pane "/> -->
<!-- <item action=TileFocusNextPane label="->" tooltip=" Focus the next pane "/> -->
</menu>
</tile>
<defapp>
<menu>
<autohide=menu/autohide/> <!-- Link to global <config/set/menu/autohide>. -->
<slim=menu/slim/> <!-- Link to global <config/set/menu/slim>. -->
</menu>
</defapp>
<hotkeys> <!-- The required key combination sequence can be generated on the Info page, accessible by clicking on the label in the lower right corner of the vtm desktop. -->
<gui key*> <!-- Native GUI window layer key bindings. key* here is to clear all previous bindings and start a new list. -->
<key="CapsLock+UpArrow" action=IncreaseCellHeight/> <!-- Increase the text cell height by one pixel. -->
<key="CapsLock+DownArrow" action=DecreaseCellHeight/> <!-- Decrease the text cell height by one pixel. -->
<key="Ctrl+0">
<action=DropAutoRepeat/> <!-- Don't autorepeat the Reset text cell height. -->
<action=ResetCellHeight/> <!-- Reset text cell height. -->
</key>
<key="Alt+Enter">
<action=DropAutoRepeat/> <!-- Don't autorepeat the Toggle fullscreen mode. -->
<action=ToggleFullscreenMode/> <!-- Toggle fullscreen mode. -->
</key>
<key="Ctrl+CapsLock">
<action=DropAutoRepeat/> <!-- Don't autorepeat the Toggle text antialiasing mode. -->
<action=ToggleAntialiasingMode/> <!-- Toggle text antialiasing mode. -->
</key>
<key="Ctrl+Shift+F11">
<action=DropAutoRepeat/> <!-- Don't autorepeat the Roll font list backward. -->
<action=RollFontsBackward/> <!-- Roll font list backward. -->
</key>
<key="Ctrl+Shift+F12">
<action=DropAutoRepeat/> <!-- Don't autorepeat the Roll font list forward. -->
<action=RollFontsForward/> <!-- Roll font list forward. -->
</key>
</gui>
<tui key*> <!-- TUI matrix layer key bindings. -->
<key="Space-Backspace | Backspace-Space" action=ToggleDebugOverlay/> <!-- Toggle debug overlay. -->
</tui>
<desktop key*> <!-- Desktop layer key bindings. -->
<key="Ctrl+PageUp" action=FocusPrevWindow/> <!-- Switch focus to the next desktop window. -->
<key="Ctrl+PageDown" action=FocusNextWindow/> <!-- Switch focus to the previous desktop window. -->
<key="Shift+F7" action=Disconnect/> <!-- Disconnect from the desktop. -->
<key="F10" preview action=TryToQuit/> <!-- Shut down the desktop server if no applications are running. -->
<key="Alt+Shift+N" action=RunApplication/> <!-- Run default application. -->
<key="" action=AlwaysOnTopWindow/><!-- Toggle AlwaysOnTop window flag. -->
<key="" action=CloseWindow/> <!-- Close window. -->
<key="" action=MinimizeWindow/> <!-- Minimize window. -->
<key="Esc+F11" action=MaximizeWindow/> <!-- Maximize window. -->
<key="Esc+F12" action=FullscreenWindow/> <!-- Maximize window to full screen. -->
<key="Esc+F1"> <action=RunScript data="vtm.run(title='Info-page' hidden=true label=Info type=info)"/></key> <!-- Run Info-page. -->
<key=""><action=WarpWindow data="0,0,0,0"/></key> <!-- Warp desktop window. The data parameter specifies four deltas for the left, right, top and bottom window sides. -->
<key="Esc+'=' | Esc+'+'"> <action=WarpWindow data=" 1, 1, 1, 1"/></key> <!-- Increase window size. -->
<key="Esc+'-'"> <action=WarpWindow data="-1,-1,-1,-1"/></key> <!-- Reduce window size. -->
<key="Esc+LeftArrow"> <action=WarpWindow data=" 1,-1, 0, 0"/></key> <!-- Move window to the left. -->
<key="Esc+RightArrow"> <action=WarpWindow data="-1, 1, 0, 0"/></key> <!-- Move window to the right. -->
<key="Esc+UpArrow"> <action=WarpWindow data=" 0, 0, 1,-1"/></key> <!-- Move window up. -->
<key="Esc+DownArrow"> <action=WarpWindow data=" 0, 0,-1, 1"/></key> <!-- Move window down. -->
<key="Esc+LeftArrow+UpArrow | Esc+UpArrow+LeftArrow"> <action=WarpWindow data=" 2,-2, 1,-1"/></key> <!-- Move window to the top-left. -->
<key="Esc+LeftArrow+DownArrow | Esc+DownArrow+LeftArrow"> <action=WarpWindow data=" 2,-2,-1, 1"/></key> <!-- Move window to the bottom-left. -->
<key="Esc+RightArrow+UpArrow | Esc+UpArrow+RightArrow"> <action=WarpWindow data="-2, 2, 1,-1"/></key> <!-- Move window to the top-right. -->
<key="Esc+RightArrow+DownArrow | Esc+DownArrow+RightArrow"> <action=WarpWindow data="-2, 2,-1, 1"/></key> <!-- Move window to the bottom-right. -->
</desktop>
<tile key*>
<key="Ctrl+PageUp" action=TileFocusPrev /> <!-- Focus the previous pane or the split grip. -->
<key="Ctrl+PageDown" action=TileFocusNext /> <!-- Focus the next pane or the split grip. -->
<key="" action=TileFocusPrevPane /> <!-- Focus the previous pane. -->
<key="" action=TileFocusNextPane /> <!-- Focus the next pane. -->
<key="Alt+Shift+N" action=TileRunApplicatoin /> <!-- Launch application instances in active empty slots. The app to run can be set by RightClick on the taskbar. -->
<key="Alt+Shift+A" action=TileSelectAllPanes /> <!-- Select all panes. -->
<key="Alt+Shift+'|'" action=TileSplitHorizontally /> <!-- Split active panes horizontally. -->
<key="Alt+Shift+Minus" action=TileSplitVertically /> <!-- Split active panes vertically. -->
<key="Alt+Shift+R" action=TileSplitOrientation /> <!-- Change split orientation. -->
<key="Alt+Shift+S" action=TileSwapPanes /> <!-- Swap two or more panes. -->
<key="Alt+Shift+E" action=TileEqualizeSplitRatio/> <!-- Equalize split ratio. -->
<key="Alt+Shift+F2" action=TileSetManagerTitle /> <!-- Set tiling window manager title using clipboard data. -->
<key="Alt+Shift+W" action=TileClosePane /> <!-- Close active application. -->
<grips key*>
<key="LeftArrow" ><action=TileMoveGrip data="-1, 0"/></key> <!-- Move the split grip to the left. -->
<key="RightArrow"><action=TileMoveGrip data=" 1, 0"/></key> <!-- Move the split grip to the right. -->
<key="UpArrow" ><action=TileMoveGrip data=" 0,-1"/></key> <!-- Move the split grip up. -->
<key="DownArrow" ><action=TileMoveGrip data=" 0, 1"/></key> <!-- Move the split grip down. -->
<key="'-'" ><action=TileResizeGrip data="-1" /></key> <!-- Decrease the split grip width. -->
<key="Shift+'+' | '+' | '=' | NumpadPlus"><action=TileResizeGrip data="1"/></key> <!-- Increase the split grip width. -->
<key="Shift+Tab" action=TileFocusPrevGrip/> <!-- Focus the next split grip. -->
<key="Tab" action=TileFocusNextGrip/> <!-- Focus the previous split grip. -->
</grips>
</tile>
<terminal key*> <!-- Application specific layer key bindings. -->
)=="
#if defined (WIN32)
R"==(
<key="Ctrl-Alt | Alt-Ctrl" preview action=ExclusiveKeyboardMode/> <!-- Toggle exclusive keyboard mode by pressing and releasing Ctrl-Alt or Alt-Ctrl (reversed release order). -->
)=="
#else
R"==(
<key="Alt+Shift+B" preview action=ExclusiveKeyboardMode/> <!-- Toggle exclusive keyboard mode by pressing and releasing Ctrl-Alt or Alt-Ctrl (reversed release order). -->
)=="
#endif
R"==(
<key="Alt+RightArrow" action=TerminalFindNext/> <!-- Highlight next match of selected text fragment. Clipboard content is used if no active selection. -->
<key="Alt+LeftArrow" action=TerminalFindPrev/> <!-- Highlight previous match of selected text fragment. Clipboard content is used if no active selection. -->
<key="Shift+Ctrl+PageUp" ><action=TerminalScrollViewportByPage data=" 0, 1"/></key> <!-- Scroll viewport one page up. -->
<key="Shift+Ctrl+PageDown" ><action=TerminalScrollViewportByPage data=" 0,-1"/></key> <!-- Scroll viewport one page down. -->
<key="Shift+Alt+LeftArrow" ><action=TerminalScrollViewportByPage data=" 1, 0"/></key> <!-- Scroll viewport one page to the left. -->
<key="Shift+Alt+RightArrow" ><action=TerminalScrollViewportByPage data="-1, 0"/></key> <!-- Scroll viewport one page to the right. -->
<key="Shift+Ctrl+UpArrow" ><action=TerminalScrollViewportByCell data=" 0, 1"/></key> <!-- Scroll viewport one line up. -->
<key="Shift+Ctrl+DownArrow" ><action=TerminalScrollViewportByCell data=" 0,-1"/></key> <!-- Scroll viewport one line down. -->
<key="Shift+Ctrl+LeftArrow" ><action=TerminalScrollViewportByCell data=" 1, 0"/></key> <!-- Scroll viewport one cell to the left. -->
<key="Shift+Ctrl+RightArrow"><action=TerminalScrollViewportByCell data="-1, 0"/></key> <!-- Scroll viewport one cell to the right. -->
<key="Shift+Ctrl+Home">
<action=DropAutoRepeat/> <!-- Don't autorepeat the Scroll to the scrollback top. -->
<action=TerminalScrollViewportToTop/> <!-- Scroll to the scrollback top. -->
</key>
<key="Shift+Ctrl+End">
<action=DropAutoRepeat/> <!-- Don't autorepeat the Scroll to the scrollback bottom (reset viewport position). -->
<action=TerminalScrollViewportToEnd/> <!-- Scroll to the scrollback bottom (reset viewport position). -->
</key>
<key=""> <action=TerminalSendKey data="test\r"/></key> <!-- Simulating keypresses using the specified string. -->
<key=""> <action=TerminalOutput data="Hello!"/></key> <!-- Direct output the string to the terminal scrollback. -->
<key="" action=TerminalViewportCopy/> <!-- Сopy viewport to clipboard. -->
<key="Ctrl+Insert" preview action=TerminalClipboardCopy/> <!-- Сopy selection to clipboard. -->
<key="Shift+Insert" preview action=TerminalClipboardPaste/> <!-- Paste from clipboard. -->
<key="" action=TerminalClipboardWipe/> <!-- Reset clipboard. -->
<key="" action=TerminalClipboardFormat/> <!-- Toggle terminal text selection copy format. -->
<key="" action=TerminalSelectionRect/> <!-- Toggle between linear and rectangular selection form. -->
<key="Esc" preview action=TerminalSelectionCancel/> <!-- Deselect a selection. -->
<key="" action=TerminalSelectionOneShot/> <!-- One-shot toggle to copy text while mouse tracking is active. Keep selection if 'Ctrl' key is pressed. -->
<key="" action=TerminalUndo/> <!-- (Win32 Cooked/ENABLE_LINE_INPUT mode only) Discard the last input. -->
<key="" action=TerminalRedo/> <!-- (Win32 Cooked/ENABLE_LINE_INPUT mode only) Discard the last Undo command. -->
<key="" action=TerminalCwdSync/> <!-- Toggle the current working directory sync mode. -->
<key="" action=TerminalWrapMode/> <!-- Toggle terminal scrollback lines wrapping mode. Applied to the active selection if it is. -->
<key="" action=TerminalAlignMode/> <!-- Toggle terminal scrollback lines aligning mode. Applied to the active selection if it is. -->
<key="" action=TerminalFullscreen/> <!-- Toggle fullscreen mode. -->
<key="" action=TerminalMaximize/> <!-- Toggle between maximized and normal window size. -->
<key="" action=TerminalMinimize/> <!-- Minimize window. -->
<key="" action=TerminalStdioLog/> <!-- Toggle stdin/stdout logging. -->
<key="" action=TerminalRestart/> <!-- Terminate runnning console apps and restart current session. -->
<key="" action=TerminalQuit/> <!-- Terminate runnning console apps and close terminal. -->
</terminal>
</hotkeys>
</config>)=="