Skip to content

Releases: directvt/vtm

v0.9.99.61

21 Dec 10:40
3223a4e
Compare
Choose a tag to compare

GitHub all current

Known issues

  • Configuration variables are not expanded.
  • Keyboard shortcuts like Esc+SomeKey do not work on Unix-like systems.
  • There is no way to move/resize standalone GUI windows using keyboard shortcuts on Windows.

Changes

  • Fix fullscreen focus when group focus.
  • Set unique focus on drag_and_drop.
  • Add default '=' key binding for TileResizeGrip (increase the split grip width) action.

v0.9.99.60

20 Dec 10:37
306d19d
Compare
Choose a tag to compare

GitHub all current

Changes

  • Explicitly disable FPU exceptions on Linux. #696

v0.9.99.59

20 Dec 08:06
66998a9
Compare
Choose a tag to compare

GitHub all current

Changes

  • Try to fix floating point exceptions. #696
  • Implement RunScript desktop action.
  • Revise desktop key bindings.
    <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. -->
            <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>
        </hotkeys>
    </config>

v0.9.99.58

19 Dec 15:09
61e7b63
Compare
Choose a tag to compare

GitHub all current

Changes

  • Try to fix floating point exception. #696
  • Fix directvt protocol deadlock on unix platforms. #430 (comment)
  • Implement focused window actions (actions are applied to all focused windows).
    Action Parameters Description
    AlwaysOnTopWindow none, boolean Toggle AlwaysOnTop window flag.
    WarpWindow l, r, t, b Move left, right, top, bottom window sides by corresponding integer deltas l, r, t, b.
    CloseWindow Close window.
    MinimizeWindow Minimize window.
    MaximizeWindow Maximize window.
    FullscreenWindow Make window fullscreen.

Default settings:

<config>
    <hotkeys>
        <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 flag on all focused windows. -->
            <key=""              action=CloseWindow/>      <!-- Close all focused desktop windows. -->
            <key=""              action=MinimizeWindow/>   <!-- Minimize all focused desktop windows. -->
            <key="Esc+F11"       action=MaximizeWindow/>   <!-- Maximize all focused desktop windows. -->
            <key="Esc+F12"       action=FullscreenWindow/> <!-- Fullscreen the first focused desktop window. -->

            <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+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">                                <action=WarpWindow data=" 0, 0, 0,-1"/></key> <!-- Move bottom side of window up. -->
            <key="Esc+LeftArrow+DownArrow">                              <action=WarpWindow data=" 0, 0, 0, 1"/></key> <!-- Move bottom side of window down. -->
            <key="Esc+RightArrow+UpArrow">                               <action=WarpWindow data=" 0, 0, 1, 0"/></key> <!-- Move top side of window up. -->
            <key="Esc+RightArrow+DownArrow">                             <action=WarpWindow data=" 0, 0,-1, 0"/></key> <!-- Move top side of window down. -->

            <key="Esc+UpArrow+LeftArrow">                                <action=WarpWindow data=" 1, 0, 0, 0"/></key> <!-- Move left side of window to left. -->
            <key="Esc+UpArrow+RightArrow">                               <action=WarpWindow data="-1, 0, 0, 0"/></key> <!-- Move left side of window to right. -->
            <key="Esc+DownArrow+RightArrow">                             <action=WarpWindow data=" 0, 1, 0, 0"/></key> <!-- Move right side of window to right. -->
            <key="Esc+DownArrow+LeftArrow">                              <action=WarpWindow data=" 0,-1, 0, 0"/></key> <!-- Move right side of window to left. -->

            <key="Ctrl+LeftArrow+DownArrow  | Ctrl+DownArrow+LeftArrow"> <action=WarpWindow data=" 1, 0, 0, 1"/></key> <!-- Move the bottom left corner of the window outward. -->
            <key="Ctrl+RightArrow+DownArrow | Ctrl+DownArrow+RightArrow"><action=WarpWindow data=" 0, 1, 0, 1"/></key> <!-- Move the bottom right corner outside. -->
            <key="Ctrl+LeftArrow+UpArrow    | Ctrl+UpArrow+LeftArrow">   <action=WarpWindow data=" 1, 0, 1, 0"/></key> <!-- Move the top left corner of the window outward. -->
            <key="Ctrl+RightArrow+UpArrow   | Ctrl+UpArrow+RightArrow">  <action=WarpWindow data=" 0, 1, 1, 0"/></key> <!-- Move the top right corner of the window outward. -->

            <key="Alt+LeftArrow+DownArrow   | Alt+DownArrow+LeftArrow">  <action=WarpWindow data=" 0,-1,-1, 0"/></key> <!-- Move the top left corner of the window inward. -->
            <key="Alt+RightArrow+DownArrow  | Alt+DownArrow+RightArrow"> <action=WarpWindow data="-1, 0,-1, 0"/></key> <!-- Move the top right corner of the window inward. -->
            <key="Alt+LeftArrow+UpArrow     | Alt+UpArrow+LeftArrow">    <action=WarpWindow data=" 0,-1, 0,-1"/></key> <!-- Move the bottom left corner of the window inward. -->
            <key="Alt+RightArrow+UpArrow    | Alt+UpArrow+RightArrow">   <action=WarpWindow data="-1, 0, 0,-1"/></key> <!-- Move the bottom right corner of the window inward. -->
        </desktop>
    </hotkeys>
</config>

v0.9.99.57

17 Dec 12:24
03077e3
Compare
Choose a tag to compare

GitHub all current

Changes

  • Suppress tile's pane split if there is no space.
  • Remove DropAutoRepeat for tile splitting hot keys.
  • Set a unique focus for the app in the Tiling Window Manager created by a mouse click.
  • Allow moving and resizing tile's grips using arrow keys.
    <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. -->
          <tile>
              <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+'+'" ><action=TileResizeGrip data=" 1"   /></key>  <!-- Increase the split grip width. -->
              </grips>
          </tile>
      </hotkeys>
    </config>
    

v0.9.99.56

16 Dec 14:28
7d8a277
Compare
Choose a tag to compare

GitHub all current

Changes

  • Fix scripting. #430 (comment)
  • Make Ctrl+Insert/Shift+Insert (copy/paste) fully configurable.
  • Make Tiling Window Manager menu configurable via settings.xml.
  • Fix window manager focusing issues.
  • Fix word boundary detection for words containing ZWSP.
  • Fix character fragment matching in built-in terminal.
  • Fix vt-parser deadlock on STX (ASCII 0x2).
  • Implement keyboard access for Tiling Window Manager.

Tiling Window Manager default hot keys

Hotkey Default action
Ctrl+PageUp Focus the previous pane or splitting grip.
Ctrl+PageDown Focus the next pane or splitting grip.
Alt+Shift+N Launch application instances in active empty slots. The app to run can be set by RightClick on the taskbar.
Alt+Shift+A Select all panes.
Alt+Shift+'|' Split active panes horizontally.
Alt+Shift+Minus Split active panes vertically.
Alt+Shift+R Change split orientation.
Alt+Shift+S Swap two or more panes.
Alt+Shift+E Equalize split ratio.
Alt+Shift+F2 Set tiling window manager title using clipboard data.
Alt+Shift+W Close active application.

Tiling Window Manager configuration example

<config>
    <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=TileFocusPrevPane      label="<"   tooltip=" Focus the previous pane or splitting grip "/> -->
            <!-- <item action=TileFocusNextPane      label=">"   tooltip=" Focus the next pane or splitting grip "/> -->
        </menu>
    </tile>
    <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. -->
        <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. -->
        </desktop>
        <tile key*>
            <key="Ctrl+PageUp"   action=TileFocusPrevPane     />  <!-- Focus the previous pane or splitting grip. -->
            <key="Ctrl+PageDown" action=TileFocusNextPane     />  <!-- Focus the next pane or splitting grip. -->
            <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=DropAutoRepeat/>         <!-- Don't autorepeat the split action. -->
                <action=TileSplitHorizontally/>  <!-- Split active panes horizontally. -->
            </key>
            <key="Alt+Shift+Minus">
                <action=DropAutoRepeat/>       <!-- Don't autorepeat the split action. -->
                <action=TileSplitVertically/>  <!-- Split active panes vertically. -->
            </key>
            <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. -->
        </tile>
    </hotkeys>
</config>

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.