Skip to content

Releases: directvt/vtm

v0.9.83

09 Jun 17:40
19a6d9b
Compare
Choose a tag to compare

GitHub all current

Changes (release for testing window rendering in GUI mode, win32 only)

  • This is still only a test GUI window.
  • Add support for glyph run alignment, rotation and flipping (using Unicode Variation Selectors VS4-VS14). See #571 for details.
  • Update to Unicode 16.0 ("Large Type Pieces" support).
  • Add support for GUI full screen mode.
  • Add a GUI related config section:
    <config>
      <gui> <!-- GUI related settings. (win32 platform only for now) -->
          <antialiasing = off />   <!-- Antialiasing of rendered glyphs. Note: Multi-layered color glyphs such as emoji are always antialiased. -->
          <cellheight = 20 />      <!-- 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 = 0,0 />       <!-- Window initial grid size in text cells. -->
          <wincoor = 0,0 />        <!-- Window initial coordinates (top-left corner on the desktop in physical pixels). -->
          <winstate = undefined /> <!-- Window initial state: undefined | maximized | minimized -->
          <fontlist> <!-- Font fallback list (LF-delimited (\n), ordered). The rest of the fonts available in the system will be loaded dynamically. -->
              "Courier New\n" <!-- Primary font. Its metrics define the cell geometry. -->
              "Iosevka Term\n"
              "JetBrains Mono\n"
              "Cascadia Mono\n"
              "DejaVu Sans Mono\n"
              "Envy Code R\n"
              "Fira Code\n"
              "monofur for Powerline\n"
              "Lucida Console\n"
              "Consolas\n"
              "Anonymous Pro\n"
              "Source Code Pro\n"
              "NSimSun\n"
              "Noto Sans Devanagari\n"
          </fontlist>
          <testtext="test \e[41;94m UTF-8 \e[m string 👌︌︉︅󐀮😃👌︋︅󐀮 (See ~/.config/vtm/settings.xml: /config/gui/testtext/)"/>
      </gui>
    </config>
  • https://learn.microsoft.com/en-us/cpp/overview/cpp-conformance-improvements?view=msvc-170#__va_opt__-is-enabled-as-an-extension-under-zcpreprocessor

Note: vtm automatically switches to the graphical mode if it is launched by the graphical shell (explorer.exe), or by the start vtm.exe command (e.g. on Windows Core).

v0.9.82

20 May 20:36
6eba5cc
Compare
Choose a tag to compare

GitHub all current

Changes

  • Nothing special, just a slightly updated GUI window. #571

8x4 character matrix support
image

screen_record_Mon_05.20.2024_18-27-05.90.mp4

v0.9.81

22 Apr 17:06
1ddffac
Compare
Choose a tag to compare

GitHub all current

Changes

  • Implement one-shot toggle to copy text while mouse tracking is active. #588

New configurable menu button:

Action Description
TerminalSelectionOneShot One-shot toggle to copy text while mouse tracking is active. Keep selection if Ctrl key is pressed.
The data= attribute can have the following values none, text, ansi, rich, html, protected.

Closes #588

Configuration example (~/.config/vtm/settings.xml)

<config>
  <term>
    <item label=" HTML " data=none type=Option action=TerminalSelectionOneShot>
      <label="\e[48:2:0:128:128;38:2:0:255:255m HTML \e[m" data=html/>
      <notes>
        " One-shot toggle to copy as HTML \n"
        " while mouse tracking is active. "
      </notes>
    </item>
    <item label=" Text " data=none type=Option action=TerminalSelectionOneShot>
      <label="\e[48:2:0:128:0;38:2:0:255:0m Text \e[m" data=text/>
      <notes>
        " One-shot toggle to copy as Text \n"
        " while mouse tracking is active. "
      </notes>
    </item>
    <item label="One-Shot" data=none type=Option action=TerminalSelectionOneShot>
      <label="\e[48:2:0:128:0;38:2:0:255:0m  Text  \e[m" data=text/>
      <label="\e[48:2:0:128:128;38:2:0:255:255m  HTML  \e[m" data=html/>
      <notes>
        " One-shot toggle to copy as Text/HTML \n"
        " while mouse tracking is active.      "
      </notes>
    </item>
  </term>
</config>
Terminal.Dev.2024-04-22.21-40-05.mp4

v0.9.80

22 Apr 11:51
28fab37
Compare
Choose a tag to compare

GitHub all current

Changes

v0.9.79

21 Apr 14:36
ab8c9c6
Compare
Choose a tag to compare

GitHub all current

Changes:

  • Revise title/footer rendering in GUI mode (fix shadows and overbright). #571
  • Add a side border option config/term/layout/border (=0 by default). #584:
    settings.xml:
    <config>
        <term>
            <layout>
                <oversize=0 opacity=0xC0/>  <!-- Scrollback horizontal (left and right) oversize. (for convenient horizontal scrolling). -->
                <border=1/>                 <!-- Viewport's left and right border. -->
            </layout>
        </term>
    </config>
  • config/term/fields section renamed to config/term/layout
  • config/term/fields/size option renamed to the config/term/layout/oversize section
  • config/term/fields/lucent option renamed to config/term/layout/oversize/opacity

image

v0.9.78

18 Apr 12:18
c96cecc
Compare
Choose a tag to compare

GitHub all current

Changes

  • Switch to ARGB pixel format (0xaarrggbb) from ABGR. All color settings in your current configurations are affected - the red channel has been swapped with the blue channel. This had to be done for compatibility with GUI mode.
  • Terminal: Fix viewport reset when changing selection mode. #584
  • Introducing a graphical window that can run on various Windows platforms starting with Windows 8.1 (including Window Server 2019 Core). #571
    • vtm automatically switches to the graphical mode if it is launched by the graphical shell (explorer.exe), or by the start vtm.exe command (e.g. on Windows Core).
    • Text cell rendering is not implemented. It is just a proof of concept.
    • The vtm server starts in the background, despite the fact that its interface is not rendered yet.
    • It is not yet clear whether we need to involve the GPU here for rendering. It's not a big deal, but at the moment it seems that software rendering is quite enough (60fps, etc). Over time it will become clear.
    • Colored emojis are funny on Windows8:
      image
    • On Windows Server Core (which is desktopless), the system window manager doesn't support "overbright" pixels (it requires alpha-premultiplied pixel values), so translucent windows are a little buggy, but that's not a big deal:
      image
    • Windows PE is also supported:
      image

v0.9.77

05 Apr 11:26
12e0914
Compare
Choose a tag to compare

GitHub all current

Changes

  • Fix PowerShell/PSReadLine input echo on Windows. #581
    image

v0.9.76

02 Apr 10:29
b2e474e
Compare
Choose a tag to compare

GitHub all current

Changes

  • Add color cursor support (OSC 12/112):
    Set/reset cursor color:
    printf "\e]12;rgb:00/ff/00\e\\"  # Set cursor color to green.
    printf "\e]112;\e\\"             # Reset cursor color to default.
    
    Run terminal with red cursor:
    printf "vtm.run(id=Term cfg='<config><term><cursor><color bgc=reddk/></cursor></term></config>')" | vtm
    
    Set red cursor in settings.xml:
    <config>
      <term>
        <cursor>
          <style="block"/> <!-- Cursor style: underline | block -->
          <blink=400ms/>       <!-- Cursor blink period. Set to zero for a steady cursor. -->
          <show=true/>
          <color bgc=reddk fgc=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>
      </term>
    </config>
  • Make the terminal window opaque by default.
  • Make window shadow configurable:
    <config>
      <appearance>
        <defaults>
          <shadow> <!-- Window shadow configuration. -->
            <enabled = true />
            <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>
        </defaults>
      </appearance>
    </config>

v0.9.75b

28 Mar 12:33
db9aedb
Compare
Choose a tag to compare

v0.9.75b

GitHub all current

Changes

  • Make terminal scrollback transparent by default to provide clear boundaries for the console applications output:
    <config>
      <term>
        <color>
          <bground = transparent />  <!-- Independent background color of the scrollback canvas. Set to 0x00ffffff(default) to sync with SGR49 (default background). -->
        </color>
      </term>
    </config>

v0.9.75a

27 Mar 20:46
deba08f
Compare
Choose a tag to compare

GitHub all current

Changes

  • Add window shadows:
    image
  • Make the terminal scrollback background color independent and configurable:
    <config>
      <term>
        <color>
          <bground = transparent />  <!-- Independent background color of the scrollback canvas. Set to 0x00ffffff(default) to sync with SGR49 (default background). -->
        </color>
      </term>
    </config>
    image
  • Remove taskbar menu item's attributes: bgc=..., fgc=..., slimmenu=... (use cfg=... attribute instead).
    echo "vtm.set(id=Azure label='Azure Terminal' type=dtvt cmd='vtm -r term' cfg='<config><term><color><default fgc=0xFFffff00 bgc=bluedk/></color></term></config>')" | vtm
  • Add support for styled and colored underlining (SGR-4:*, SGR-58/59).
  • Fix bug with CSI subparameters parsing.
    repro:
    printf "\e[48:2::255:255:255mWhite\e[m\n"
    printf "\e[48:2:255:255:255mWhite\e[m\n"