DomTerm is an terminal emulator based on web technologies.
Beyond solid xterm compatibility, it supports
powerful features for REPL (read-eval-print-loop) consoles:
Application output can have images, rich text, and links,
with structure-based line-breaking (pretty-printing), and folding.
There is also input editing; automatic paging;
screen multiplexing (panes and tabs); and session management
tmux or GNU
domterm command runs a server that manages
sessions (usually shell processes).
The user interface and terminal emulation
that can run in a regular web browser or an embedded browser such as Electron,
using Web Sockets to talk to the server.
The name “DomTerm” refers to how it works by manipulating the Document Object Model (DOM) of a browser: the nested structure of elements, text, and attributes.
DomTerm is Free Software (open-source) available at https://github.com/PerBothner/DomTerm.
domterm command takes multiple sub-commands,
similar to how
The command automatically starts server if not already running.
Session management, with detachable sessions, as in
tmux or GNU
A front-end based on Electron is now the preferred one.
We now support draggable tabs and panes.
An experimental pager with optional automatic pause on each page.
The preferred “backend‘ is now libwebsockets. This is light-weight, does not require Java, is actively maintained, and enables serving http and the WebSockets on the same port.
Support for CJK (Chinese, Japanese, and Korean) characters is improved: Double-width characters now really are two columns wide.