Text-based desktop environment inside your terminal*
ssh vtm@netxs.online
- POSIX-oriented
- Linux
- macOS
- FreeBSD
- NetBSD
- OpenBSD
...
- Windows
- Windows 10 or later
- Windows Server 2019 or later
Build-time dependencies
git clone https://github.com/netxs-group/vtm.git && cd ./vtm
cmake ./src -DCMAKE_BUILD_TYPE=Release
cmake --build .
cmake --install .
Build-time dependencies
git
cmake
Visual Studio 2019
Use Developer Command Prompt for VS 2019
as a build environment
git clone https://github.com/netxs-group/vtm.git && cd ./vtm
cmake ./src -DCMAKE_BUILD_TYPE=Release "-GVisual Studio 16 2019"
cmake --build . --config Release
cd ./Release
powershell ../src/install/install.ps1
Option | Description |
---|---|
No arguments | Run client (auto start server) |
-d |
Run server in background |
-s |
Run server in interactive mode |
Sidebar | App window | Desktop | |||||||
---|---|---|---|---|---|---|---|---|---|
App group | Running app | User list | ≡ Menu | Menu bar | Interior | Resize grips | Navigation strings | Free space | |
Ctrl + PgUp/Dn | Switch between running apps and assign exclusive keyboard focus | ||||||||
LeftClick | Run app | Go to app | Maximize/restore | Assign exclusive keyboard focus | Go to app | Clear keyboard focus | |||
Ctrl + LeftClick | Assign/clear group keyboard focus | ||||||||
double LeftClick | Maximize/restore app window | ||||||||
RightClick | Set default app | Center app window | Toggle menu height | Center app window | |||||
Left+Right or MiddleClick | Close app | ||||||||
LeftDrag | Adjust sidebar width | Move app window | Panoramic workspace scrolling | ||||||
RightDrag | Panoramic content scrolling | Run default app | |||||||
MiddleDrag | Run default app | ||||||||
Left+RightDrag | Panoramic workspace scrolling | ||||||||
Ctrl+RightDrag or Ctrl+MiddleDrag | Copy selected area to clipboard, OSC 52 | ||||||||
Wheel | Vertical scrolling | ||||||||
Shift+Wheel or Ctrl+Wheel | Horizontal scrolling |
▀▄ Term
Terminal emulator▀▄ Logs
Debug output console▀▄ View
Workspace navigation helper▀▄ Tile
Tiling window manager
show details...
-
▀▄ Term
-
UTF-8 Everywhere
-
Unicode clustering
-
TrueColor/256-color support
-
Auto-wrap mode
DECAWM
(with horizontal scrolling) -
Focus tracking
DECSET 1004
-
Bracketed paste mode
DECSET 2004
-
SGR attributes: overline, double underline, strikethrough, and others
-
Save/restore terminal window title
XTWINOPS 22/23
-
Mouse tracking
DECSET 1000/1002/1003/1006 SGR
mode -
Mouse tracking
DECSET 10060 Extended SGR
mode, mouse reporting outside of the terminal viewport (outside + negative arguments) #62 -
Configurable using VT-sequences
Name Sequence Description CCC_SBS
CSI
24 : n : mp
Set scrollback buffer size, int32_t
n
Initial buffer size in lines; 0 — grow step is used for initial size; default (if omitted) is 20.000m
Grow step for unlimited buffer; default (if omitted) is 0 — for fixed size bufferCCC_RST
CSI
1p
Reset all parameters to default CCC_TBS
CSI
5 : np
Set tabulation length n
Length in chars, max = 256, default is 8CCC_JET
CSI
11 : np
Set text alignment, default is Left n = 0
defaultn = 1
Leftn = 2
Rightn = 3
CenterCCC_WRP
CSI
12 : np
Set text autowrap mode, default is On n = 0
defaultn = 1
Onn = 2
Off (enable horizontal scrolling)CCC_RTL
CSI
13 : np
Set text right-to-left mode, default is Off n = 0
defaultn = 1
Onn = 2
Off
-
-
▀▄ Logs
- Debug output console. Use double
RightClick
to clear scrollback.
- Debug output console. Use double
-
▀▄ View
- Serves for quick navigation through the desktop space using cyclic selection (left click on group title) in the
View
group on the taskbar.
- Serves for quick navigation through the desktop space using cyclic selection (left click on group title) in the
-
▀▄ Tile
- Supports Drag and Drop for panes (like tabs in a browser).
- Use any modifier (
Ctrl
orAlt
) while pane dragging to disable drag&drop mode. - List of panes (outside the right side of the window)
LeftClick
-- Set exclusive focus (highlighted by color)Ctrl+LeftClick
-- Set group focus (highlighted by color)double LeftClick
-- Maxixmize/restoreLeft+Right or MiddleClick
-- Terminate application
- Tiling window manager preconfigurable using environment variable
VTM_PROFILE...
.# Configuration example: VTM_PROFILE_1='"Menu label 1", "Window Title 1", h1:2( v1:1("bash -c htop", "bash -c mc"), "bash")' VTM_PROFILE_2='"Menu label 2", "Window Title 2", h( v("bash -c htop", "bash -c mc"), "bash")'
Desktopio Framework Documentation