Next: , Previous: , Up: DomTerm   [Contents]

Sessions and Windows

DomTerm can “multiplex” multiple terminal emulators (similar to tmux or GNU Screen).


A session is an emulated terminal with a process running under it. A domterm server manages one or more sessions. Typically, for each user there is at most a single domterm server running at a time, though it is possible to create more: The server is created as needed, and exits when there are no more sessions. (Note that 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.

Every session has a unique integer session number. 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.

Windows and connections

A window is an area of the screen where you can display or interact with a session: Either a top-level window (a window or tab managed by a window manager or a web browser), or a sub-window (managed by DomTerm), which can be a pane or a tab. A top-level window may be split vertically and/or horizontally into one or more panes (or tiles), which can each have multiple tabs, only one of which is visible at a time,

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 window has a unique window 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.

Also the remote server will use a proxy connection with a connection number that is similar to a window number.

Managing sessions

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.

The sub-command list lists active sessions, as does status with more detail.

The sub-command 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 keyboard short-cur Ctrl+Shift+A d or a menu command (Electron only). More precisely, it marks the current session as want-to-detach, 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.

Session specifiers

A session specifier has one of the following forms:


Normally a session number. Can also be a window (connection) number in which case the corresponding session is used.


The session -name is a user-friendly name associated with the session, and displaying in the tab-bar and title-bar of windows displaying the session. The default session-name is ‘DomTerm:session-number’.


The pid is the process ID (an integer) of the designed session.

Next: , Previous: , Up: DomTerm   [Contents]