Releases: directvt/vtm
Releases · directvt/vtm
v0.9.99.61
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
v0.9.99.59
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
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
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
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
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.