Releases: directvt/vtm
Releases · directvt/vtm
v0.9.99.55
v0.9.99.54
Known issues
- Esc key does not work properly.
Breaking changes
- This version of vtm is not compatible with previous versions due to the changed directvt protocol.
Changes
- Reimplement hotkey handling.
- Drop schemes in favor of exclusive keyboard mode.
Platform Hotkey Description Windows Ctrl-Alt | Alt-Ctrl
Toggle exclusive keyboard mode. Unix Alt+Shift+B
Toggle exclusive keyboard mode. - Introduce
preview
mode for hotkeys. Keyboard events travel along the focus tree from the desktop to the target objects (preview route) and then return back to the desktop along the same path (release route). Normally, if the preview mode is not specified, the key event will travel all the way to the target object along the focus tree and will only be processed on the way back. If thepreview
keyword is specified, the event may be processed before reaching the target object.
An example of usingpreview
mode is a key binding to switch to exclusive mode.<config> <hotkeys> <terminal> <key="Ctrl-Alt | Alt-Ctrl" preview action=""/> <!-- Reset current bindings. --> <key="Ctrl-Alt | Alt-Ctrl" preview action=ExclusiveKeyboardMode/> <!-- Toggle exclusive keyboard mode by pressing and releasing Ctrl-Alt or Alt-Ctrl (reversed release order). --> </terminal> </hotkeys> </config>
v0.9.99.53
v0.9.99.52
Known issues
- Doubling keyboard focus when using
vtm ssh user@host vtm
.
Breaking changes
- Rename tag
<term/>
to<terminal/>
in settings.xml. See/src/vtm.xml
for reference.
Changes
- Fix some multi-threaded deadlocks.
- Remove
TerminalCwdSync
menu item from default configuration.
v0.9.99.51
v0.9.99.50
Breaking changes
- Rename the following actions:
Old action name New action name Drop Noop TerminalToggleFullscreen TerminalFullscreen TerminalToggleMaximize TerminalMaximize TerminalSelectionCopy TerminalClipboardCopy TerminalSelectionMode TerminalClipboardFormat TerminalCopyMode TerminalClipboardFormat TerminalToggleCwdSync TerminalCwdSync TerminalToggleWrapMode TerminalWrapMode TerminalToggleStdioLog TerminalStdioLog TerminalToggleSelectionMode TerminalSelectionRect
Changes
- Implement the following parameterized actions (see available actions in
/doc/settings.md
):Action action=
Parameter data=
Description TerminalSendKey text string
Simulating key presses using the specified string. TerminalOutput text string
Direct output the string to the terminal scrollback. TerminalAlignMode left
|right
|center
Set terminal scrollback lines aligning mode. Applied to the active selection if it is. TerminalWrapMode on
|off
Toggle terminal scrollback lines wrapping mode. Applied to the active selection if it is. TerminalClipboardFormat none
|text
|ansi
|rich
|html
|protected
Switch terminal text selection copy format. TerminalSelectionRect on
|off
Toggle between linear and rectangular selection form. TerminalSelectionOneShot text
|ansi
|rich
|html
|protected
One-shot toggle to copy text while mouse tracking is active. Keep selection if Ctrl
key is pressed. - Update docs.
v0.9.99.49
Changes
- Fix insertion for lazy grapheme clustering.
- Allow hotkey scheme to be an arbitrary string.
- Allow multiple key chords in one settings statement delimited by
|
. - Make a key combination action parameterized.
- Fix handled key combination leak.
- Replace
ToggleHotkeyScheme
withSwitchHotkeyScheme
. - Replace
TerminalViewportTop/End
withTerminalScrollViewportToTop/End
. - Introduce parameterized (by
data="IntX, IntY"
) actionsTerminalScrollViewportByPage
andTerminalScrollViewportByCell
. - Drop following actions:
TerminalViewportPageUp
TerminalViewportPageDown
TerminalViewportLineUp
TerminalViewportLineDown
TerminalViewportPageLeft
TerminalViewportPageRight
TerminalViewportCharLeft
TerminalViewportCharRight
<config>
<term>
<menu>
<item type="Option" action=SwitchHotkeyScheme label=" Keys0 " data="">
<label="\e[48:2:0:128:128;38:2:0:255:0m Keys1 \e[m" data="1"/>
<tooltip>
" Toggle hotkey scheme \n"
" Alternative hotkey scheme allows keystrokes \n"
" to be passed through without processing "
</tooltip>
</item>
</menu>
</term>
<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. -->
<tui key*> <!-- TUI matrix layer key bindings. The scheme=0 is implicitly used by default. -->
<key="Space-Backspace | Backspace-Space" action=ToggleDebugOverlay/> <!-- Toggle debug overlay. -->
<key="Ctrl-Alt | Alt-Ctrl" scheme=""> <action=SwitchHotkeyScheme data="1"/></key> <!-- Switch the hotkey scheme to "1" by pressing and releasing Ctrl-Alt or Alt-Ctrl (reversed release order). -->
<key="Ctrl-Alt | Alt-Ctrl" scheme="1"><action=SwitchHotkeyScheme data=""/> </key> <!-- Switch the hotkey scheme to default by pressing and releasing Ctrl-Alt or Alt-Ctrl (reversed release order). -->
</tui>
<term key*> <!-- Application specific layer key bindings. -->
<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="Ctrl+PageUp" scheme="1"><action=TerminalScrollViewportByPage data=" 0, 1"/></key> <!-- Scroll viewport one page up. -->
<key="Ctrl+PageDown" scheme="1"><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. -->
</term>
</hotkeys>
</config>
v0.9.99.48
Changes
- Allow keybinding to multiple actions.
<config> <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> </gui> </hotkeys> </config>
- Support for lazy grapheme clustering.
v0.9.99.47
Breaking changes
- This version of vtm is not compatible with previous versions due to the changed directvt protocol.
- A number of renamings of parameters in the settings file
settings.xml
. Seesrc/vtm.xml
for reference.
Known issues in TUI mode (vtm --tui) on Windows
- The combination of two Shifts (left+right) doesn't work. microsoft/terminal#18223
- Right Alt doesn't work properly. microsoft/terminal#18120
Changes from v0.9.99.36 pre-release
- Treat only unquoted literals as variables in settings. All unresolved unquoted literals are treated as regular values.
Example
:<config> <set> <variable1="text value"/> </set> <some_section> <variable2="text value"/> </some_section> <test1=variable1/> <!-- Reference to the /config/set/ namespace (w/o quotes). --> <test2=/config/some_section/variable2/> <!-- Absolute reference (w/o quotes). --> <test3="/config/some_section/variable3"/> <!-- Just a text string (quoted string). --> </config>
- Allow config-wide absolute references.
Example
:<config> <set> <selection> <mode="text"/> <rect=false/> </selection> </set> <term> <selection> <mode=/config/set/selection/mode/> <!-- Absolute reference. --> <rect=selection/rect/> <!-- Reference to the /config/set/ (default) namespace. --> </selection> </term> </config>
- Amplify mouse hover on button press.
- Add key combination test to Info-page. You can test your keyboard there and copy the key combination you are interested in to the clipboard by clicking.
Changes from v0.9.99.37 pre-release
- All hotkeys now are configurable via
settings.xml
. You can generate the hotkey you need on the Info-page, accessible by clicking on the label in the lower right corner of the vtm desktop.
Changes from v0.9.99.38 pre-release
- Add exclusive keyboard mode toggle (
Ctrl-Alt
, hyphen means release/unpress) for keyboard test to the Info-page.
Changes from v0.9.99.40 pre-release
- Make text anti-aliasing enabled by default.
- Introduce
Drop
andDropAutoRepeat
actions.Action Description Drop
Drop all events for the specified key combination. No further processing. DropAutoRepeat
Drop Key Repeat
events for the specified key combination. This binding should be specified before the main action for the key combination.<config> <hotkeys key*> <gui> <key="Alt+Enter" action=DropAutoRepeat/> <!-- Don't repeat the Toggle fullscreen mode. --> <key="Alt+Enter" action=ToggleFullscreenMode/> <!-- Toggle fullscreen mode. --> </gui> </hotkeys> </config>
Changes from v0.9.99.41 pre-release
- Implement keyboard-only access for Info-page.
Key Action PageUp/Down Scroll info-page up/down by page. Up/DownArrow Scroll info-page up/down by 3 lines. Left/RightArrow Scroll info-page left/right by 3 chars. Home/End Scroll info-page to top/bottom. Esc Close info-page.
Changes from v0.9.99.42 pre-release
- Rename
TerminalFullscreen
toTerminalToggleFullscreen
. - Add
action=TerminalToggleMaximize
for key binding. - Add Maximize/Fullscreen toggle to info-page (F11/F12).
- Generalize keyboard navigation for demo apps.
- Update docs.
Changes from v0.9.99.43 pre-release
- Move all key bindings into a single subsection
<config/hotkeys/...>
. - Rename generic keys to make it more generic.
- Introduce ToggleDebugOverlay action for key binding.
Changes from v0.9.99.44 pre-release
- Add
action=ToggleHotkeyMode
for key binding to toggle exclusive keyboard mode usingCtrl-Alt
(minus sign between Ctrl and Alt means Fire on release). - Now you can use two independent hotkey schemes (scheme=0 or scheme=1).
<config> <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. --> <tui key*> <!-- TUI matrix layer key bindings. The scheme=0 is implicitly used by default. --> <key="Ctrl-Alt" action=ToggleHotkeyMode/> <!-- scheme=0 binding for Toggle hotkey mode to scheme=1 by pressing and releasing Ctrl-Alt. --> <key="Alt-Ctrl" action=ToggleHotkeyMode/> <!-- scheme=0 binding for Toggle hotkey mode to scheme=1 by pressing and releasing Alt-Ctrl (reversed releasing). --> <key="Ctrl-Alt" scheme=1 action=ToggleHotkeyMode/> <!-- scheme=1 binding for Toggle hotkey mode to scheme=0 (default) by pressing and releasing Ctrl-Alt. --> <key="Alt-Ctrl" scheme=1 action=ToggleHotkeyMode/> <!-- scheme=1 binding for Toggle hotkey mode to scheme=0 (default) by pressing and releasing Alt-Ctrl (reversed releasing). --> </tui> <term key*> <!-- key* here is to clear all previous bindings and start a new list. --> <key="Shift+Ctrl+PageUp" action=TerminalViewportOnePageUp/> <!-- scheme=0 binding for Scroll one page up. --> <key="Shift+Ctrl+PageDown" action=TerminalViewportOnePageDown/> <!-- scheme=0 binding for Scroll one page down. --> <key="Ctrl+PageUp" scheme=1 action=TerminalViewportOnePageUp/> <!-- scheme=1 binding for Scroll one page up. --> <key="Ctrl+PageDown" scheme=1 action=TerminalViewportOnePageDown/> <!-- scheme=1 binding for Scroll one page down. --> </term> </hotkeys> </config>
Changes from v0.9.99.45 pre-release
- Add configurable hotkey scheme indicator
Keys0
/Keys1
(Ctrl-Alt).
<config> <term> <menu> <item type="Command" action=ToggleHotkeyScheme> <label=" Undef " data="undef"/> <label=" Keys0 " data="off"/> <label="\e[48:2:0:128:128;38:2:0:255:0m Keys1 \e[m" data="on"/> <notes> " Toggle hotkey scheme \n" " Alternative hotkey scheme allows keystrokes \n" " to be passed through without processing " </notes> </item> </menu> </term> </config>
<config> <hotkeys> <term> <key="Shift+Ctrl+PageUp" action=TerminalViewportOnePageUp/> <key="Shift+Ctrl+PageDown" action=TerminalViewportOnePageDown/> <key="Ctrl+PageUp" scheme=1 action=TerminalViewportOnePageUp/> <key="Ctrl+PageDown" scheme=1 action=TerminalViewportOnePageDown/> </term> </hotkeys> </config>
Changes from v0.9.99.46 pre-release
- Rename
notes
totooltip
insettings.xml
. - Make drive letters consistent in cmd.exe (force upper case in
cd
command). - Fix
::cuserid()
on Android. - Add
-pthread
toCMAKE_CXX_FLAGS
for Android (make it for all non-Win32). - Remove support for Windows ARM32 builds.
v0.9.99.46
Changes
- Rename
notes
totooltip
insettings.xml
. - Make drive letters consistent in cmd.exe (force upper case in
cd
command). - Fix
::cuserid()
on Android. - Add
-pthread
toCMAKE_CXX_FLAGS
for Android (make it for all non-Win32). - Remove support for Windows ARM32 builds.
Known bugs
- The keyboard does not work when activating a window with a mouse.