Skip to content

Releases: directvt/vtm

v0.9.99.55

30 Nov 10:58
d5d41bb
Compare
Choose a tag to compare

GitHub all current

Changes

  • Fix Esc key.

v0.9.99.54

29 Nov 15:40
fb6d28d
Compare
Choose a tag to compare

GitHub all current

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 the preview keyword is specified, the event may be processed before reaching the target object.
    An example of using preview 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

25 Nov 14:54
a51e6ca
Compare
Choose a tag to compare

GitHub all current

Known issues

  • Broken multiple actions for hotkeys.
  • Hotkey schemes are overengineered. It will be deprecated in future releases.

Changes

  • Fix issue with double keyboard focus when using vtm ssh user@host vtm.
  • Don't stop processing the key release event, just break processing the chords.

v0.9.99.52

24 Nov 19:58
57cba57
Compare
Choose a tag to compare

GitHub all current

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

24 Nov 14:42
c5a38c5
Compare
Choose a tag to compare

GitHub all current

Changes

  • Fix keystroke doubles in dtty ssh sessions (e.g. in vtm ssh user@host vtm -r term).
  • Implement TerminalMinimize action.
  • Implement RunApplication action.
  • Make switching the hotkey scheme via Alt+Shift+B on non-Windows platforms.

v0.9.99.50

23 Nov 17:04
77a368b
Compare
Choose a tag to compare

GitHub all current

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

22 Nov 19:49
37a1522
Compare
Choose a tag to compare

GitHub all current

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 with SwitchHotkeyScheme.
  • Replace TerminalViewportTop/End with TerminalScrollViewportToTop/End.
  • Introduce parameterized (by data="IntX, IntY") actions TerminalScrollViewportByPage and TerminalScrollViewportByCell.
  • 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

21 Nov 08:48
d6cb9c5
Compare
Choose a tag to compare

GitHub all current

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.
    image

v0.9.99.47

19 Nov 17:07
7c39f2c
Compare
Choose a tag to compare

GitHub all current

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. See src/vtm.xml for reference.

Known issues in TUI mode (vtm --tui) on Windows

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.
    image

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.
    image

Changes from v0.9.99.40 pre-release

  • Make text anti-aliasing enabled by default.
  • Introduce Drop and DropAutoRepeat 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 to TerminalToggleFullscreen.
  • 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 using Ctrl-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).
    image
    <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 to tooltip in settings.xml.
  • Make drive letters consistent in cmd.exe (force upper case in cd command).
  • Fix ::cuserid() on Android.
  • Add -pthread to CMAKE_CXX_FLAGS for Android (make it for all non-Win32).
  • Remove support for Windows ARM32 builds.

v0.9.99.46

19 Nov 13:19
5fa979d
Compare
Choose a tag to compare
v0.9.99.46 Pre-release
Pre-release

GitHub all current

Changes

  • Rename notes to tooltip in settings.xml.
  • Make drive letters consistent in cmd.exe (force upper case in cd command).
  • Fix ::cuserid() on Android.
  • Add -pthread to CMAKE_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.