GithubHelp home page GithubHelp logo

doytsujin / vtm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from directvt/vtm

0.0 1.0 0.0 3.7 MB

Terminal multiplexer with window manager and session sharing

Home Page: https://vtm.netxs.online

License: MIT License

PowerShell 0.08% C++ 97.84% CMake 0.06% Python 2.02%

vtm's Introduction

Monotty Desktopio

Text-based desktop environment inside your terminal*

image

* Terminal Requirements

Demo

Demo on YouTube

Live SSH

Video

Supported Platforms

  • POSIX-oriented
    • Linux
    • macOS
    • FreeBSD
    • NetBSD
    • OpenBSD
    • ...
  • Windows
    • Windows 10
    • Windows Server 2019

Building from Source

POSIX-oriented

Build-time dependencies

  • git
  • cmake
  • gcc or clang with support for C++20
git clone https://github.com/netxs-group/vtm.git && cd ./vtm
cmake ./src -DCMAKE_BUILD_TYPE=Release
cmake --build .
cmake --install .

Windows

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

Binaries







Command Line Options vtm(.exe)

Option Description
No arguments Run client (auto start server)
-d Run server in background
-s Run server in interactive mode

User Interface

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

Built-in Applications

  • ▀▄ 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 : m p 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.000
      m Grow step for unlimited buffer; default (if omitted) is 0 — for fixed size buffer
      CCC_RST CSI 1 p Reset all parameters to default
      CCC_TBS CSI 5 : n p Set tabulation length
      n Length in chars, max = 256, default is 8
      CCC_JET CSI 11 : n p Set text alignment, default is Left
      n = 0 default
      n = 1 Left
      n = 2 Right
      n = 3 Center
      CCC_WRP CSI 12 : n p Set text autowrap mode, default is On
      n = 0 default
      n = 1 On
      n = 2 Off (enable horizontal scrolling)
      CCC_RTL CSI 13 : n p Set text right-to-left mode, default is Off
      n = 0 default
      n = 1 On
      n = 2 Off
  • ▀▄ Logs

    • Debug output console. Use double RightClick to clear scrollback.
  • ▀▄ View

    • Serves for quick navigation through the desktop space using cyclic selection (left click on group title) in the View group on the taskbar.
  • ▀▄ Tile

    • Supports Drag and Drop for panes (like tabs in a browser).
    • Use any modifier (Ctrl or Alt) 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/restore
      • Left+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")'
      

Related Repositories

Desktopio Framework Documentation


HitCount Twitter handle

vtm's People

Contributors

o-sdn-o avatar netxs-group avatar monotty avatar desktopio avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.