DomTerm can “multiplex” multiple terminal emulators (similar to tmux or GNU Screen).
A session is an emulated terminal with a process running under it.
domterm server manages one or more sessions.
Typically, for each user there is at most a single
running at a time, though it is possible to create more:
The server is created as needed, and exits when there are no
tmux uses “session” to refer to multiple
processes running under the same server.)
Each session is usually displayed in a domterm window or window for short. If the session is not displayed in any window, we say it is detached. It is possible to display the same session in multiple windows.
A top-level window is window or tab in a web browser (or embedded browser, like Electron). A top-level window may be split vertically and/or horizontally into one or more tiles (or panes). Each tile has one or more tabs, where each tab is a (sub-)window. Only one of the tabs in a tile can be displayed at a time. These tabs are managed by domterm, and are distinct from any tabs managed by a web browser or window manager (though they have similar purpose).
A non-session window displays something other than
a DomTerm session. The
domterm browse command creates
a non-session window that displays a specified web page.
One use of this for is viewing documentation.
Every session has a unique integer session number. Every window has a unique window (or connection) number. Normally, when a new terminal session is created a window will be created with the same window number as the session number. However, there may be detached sessions without windows, and (rarely) there may be sessions that use multiple windows. These numbers are unique with a domterm server: If you connect to a remote domterm server the session numbers may be different on the local and remote end. Also the remote server will use a proxy connection with a connection number that is similar to a window number.
Creating a new session is done by invoke the
domterm command with the
new sub-command, or with no arguments.
See Creating a new session for details.
list lists active sessions,
status with more detail.
attach connects to an existing session,
often a detached session. You specify the session
with a session-specifier.
The can detach the current session using either the
Ctrl-Shift-A d or a menu command (Electron only).
More precisely, it marks the current session as
and closes the current window. If there are other windows on the
session, they remain active, but the session is detached (rather than
exits) when the last window on the session closes.
When a session is detached, it saves the display state, so it can be re-created if the session is later attached. There is no auto-save in case of unintentional detach, such as network failure or a browser crash, but there are plans to implement that.
A session specifier has one of the following forms:
pid is the process ID (an integer) of the designed session.
The session-number sequential number permanently associated with the session.
session -name is a user-friendly name associated with the session,
and displaying in the tab-bar and title-bar of windows disdplay the session.
session -name is ‘