Skip to content

Releases: directvt/vtm

v2025.10.18

18 Oct 21:48
fbcaef4

Choose a tag to compare

GitHub all current

Changes

  • Make the emulation of tmux-like prefix keys more consistent.

    Keyboard hacking

    It is possible to emulate the tmux-like keyboard prefix approach by using a global variable in the Lua-scripting runtime space. As an example, the following configuration adds the keyboard shortcut Ctrl+B as a toggle for an additional keyboard mode (coupled with a user-defined boolean variable named kbmodifier) that allows windows to be moved directly using the arrow keys:

    • ~/.config/vtm/settings.xml:
      <config>
          <events>
              <desktop>
                  <script="kbmodifier = not kbmodifier; log('kbmodifier=', kbmodifier);" on="Ctrl+B"/> <!-- Emulate tmux-like prefix key. The expression `log('kbmodifier=', kbmodifier);` is for debugging purposes only (the output is visible in the `Log Monitor`). -->
              </desktop>
              <applet> <!-- Key bindings for the application window. -->
                  <KeyFilter="if (not kbmodifier and vtm.gear.Bypass()) then return; end; "/> <!-- `KeyFilter` macro. Do nothing if `kbmodifier` is false. Calling vtm.gear.Bypass() always returns true. -->
                  <script=KeyFilter | MoveAppletLeft         prerun=KeyFilter on="LeftArrow"                                  /> <!-- The ` | ` operator concatenates script fragments/macros. If for some reason the keyboard event is not processed by anyone, it will then return and fire on this object, so the KeyFilter is also reused at the beginning of the `script="..."`. -->
                  <script=KeyFilter | MoveAppletRight        prerun=KeyFilter on="RightArrow"                                 /> <!-- The `prerun` attribute contains a Lua script that will be executed during pre-polling to filter out key events. -->
                  <script=KeyFilter | MoveAppletUp           prerun=KeyFilter on="UpArrow"                                    /> <!-- When kbmodifier is true, you can move windows using the arrow keys. -->
                  <script=KeyFilter | MoveAppletDown         prerun=KeyFilter on="DownArrow"                                  /> <!-- Macros like `MoveApplet...` are defined in the default configuration. You can list them with `vtm -l`. -->
                  <script=KeyFilter | MoveAppletTopLeft      prerun=KeyFilter on="LeftArrow+UpArrow    | UpArrow+LeftArrow"   /> <!-- Simultaneous key presses should also be processed if supported. -->
                  <script=KeyFilter | MoveAppletBottomLeft   prerun=KeyFilter on="LeftArrow+DownArrow  | DownArrow+LeftArrow" /> <!-- It is convenient to specify multiple keyboard shortcuts in one definition separated by `|`. -->
                  <script=KeyFilter | MoveAppletTopRight     prerun=KeyFilter on="RightArrow+UpArrow   | UpArrow+RightArrow"  />
                  <script=KeyFilter | MoveAppletBottomRight  prerun=KeyFilter on="RightArrow+DownArrow | DownArrow+RightArrow"/>
                  <script=KeyFilter | IncreaseAppletWidth    prerun=KeyFilter on="Ctrl+RightArrow"                            />
                  <script=KeyFilter | DecreaseAppletWidth    prerun=KeyFilter on="Ctrl+LeftArrow"                             />
                  <script=KeyFilter | IncreaseAppletHeight   prerun=KeyFilter on="Ctrl+DownArrow"                             />
                  <script=KeyFilter | DecreaseAppletHeight   prerun=KeyFilter on="Ctrl+UpArrow"                               />
                  <script=KeyFilter | FocusPrevWindow        prerun=KeyFilter on="PageUp"                                     />
                  <script=KeyFilter | FocusNextWindow        prerun=KeyFilter on="PageDown"                                   />
              </applet>
          </events>
      </config>

v2025.10.17

17 Oct 21:27
19b81d2

Choose a tag to compare

GitHub all current

Changes

  • Fix window menu buttons not updating on startup. Regression from v2025.10.16.
  • Fix DECSG mode synchronization during vt parsing.

v2025.10.16

16 Oct 20:10
ea9c818

Choose a tag to compare

GitHub all current

Known issues

  • Not all window menu buttons are displayed/updated at startup. Regression from v2025.10.16.

Changes

  • Fix connections of type 'dtty'.
    Connections of the type type="dtty" (<item id="Run remote vtm desktop in DirectVT IO mode over SSH" type="dtty" cmd="ssh user@server vtm"/>) didn't work when launched from the taskbar menu. Regression from v2025.07.17.

v2025.10.15

15 Oct 10:23
ad64110

Choose a tag to compare

GitHub all current

Known issues

  • Connections of the type type="dtty" (<item id="Run remote vtm desktop in DirectVT IO mode over SSH" type="dtty" cmd="ssh user@server vtm"/>) do not work when launched from the taskbar menu.
    Regression from v2025.07.17.

Changes

  • Revise multifocal keyboard events forwarding (fix multifocal input within a process).
    Note: Multifocal (multi-focus) input can be activated by Ctrl+LeftClick.
  • Hide all active tooltips on mouse leave (GUI mode).

v2025.10.14

14 Oct 16:31
3023c87

Choose a tag to compare

GitHub all current

Changes

  • Fix name resolution in scripting.
  • Do 7z archiving on the GithubActions side (all published releases are now in 7zip format).

v2025.10.13

13 Oct 13:27
02f4c33

Choose a tag to compare

GitHub all current

Known issues

  • Focusing the taskbar from the keyboard does not work when multiple users are connected at the same time (name resolution in scripting is broken).

Changes

  • Fix missing libinput stack on Android.
  • Fix the indication of the amount of selected text in the terminal footer (selected by multi-clicks).
  • Make Lua script compilation error messages more clear (add line numbering).
    image

v2025.10.12

12 Oct 10:27
ff7a0c4

Choose a tag to compare

GitHub all current

Changes

  • Fix precompiled script reference counting.

v2025.10.11

11 Oct 19:11
6000723

Choose a tag to compare

GitHub all current

Changes

  • Make Lua scripts precompiled.
  • Change the Windows release archive format from zip to 7z to avoid false positives from WindowsDefender. #817 (comment)

v2025.10.03

03 Oct 16:40
901bb9c

Choose a tag to compare

GitHub all current

Changes

  • Fix additional screen buffer rendering (win32api). #820
  • Don't focus taskbar menu items by right click.
  • Advertise correct Primary Device Attributes (DA1).
    • 61: VT Level 1
    • 22: Color text
    • 28: Rectangular area operations
    • 52: Clipboard operations
    • 10060: VT2D

v2025.09.27

25 Sep 22:14
903aea2

Choose a tag to compare

GitHub all current

Changes