-
Notifications
You must be signed in to change notification settings - Fork 0
Home
superterm is a GNU/Linux terminal multiplexer written in Free Pascal. It provides
a Turbo Vision-style window and pane interface while every visible pane remains
a real PTY-backed terminal.

The screenshot shows one workspace divided into four terminal panes. Each pane has its own process, terminal state, focus, and resize behavior.
- Vertical and horizontal pane splits with focus navigation and mouse support.
- Resize, maximize, minimize, restore, and close operations; up to 16 panes in one visible layout.
- Window classes (
[class.*]): reusable named pane definitions for local commands and structured SSH connections (host, user, port, key, optionalsshpasspassword), or a freeconnectcommand, with optionalcmd,postconnect,shell,cwd,scrollback, and a default windowtitle. - Profiles (
[profile.*]): named workspaces of windows and pane layouts whose panes reference window classes. - Named detachable sessions: each detach creates a background session under
~/.superterm/sessions/, kept alive by a per-user session server. Reattach withsuperterm --attach, theCtrl-Q spicker, or the startup picker;superterm --list-sessionsprints them. - A configurable tmux-style prefix key (
[keymap] prefix, defaultCtrl-Q) so a remote tmux keepsCtrl-Buntouched. - A custom keyboard driver: a lone
Escreaches the pane (timeout-based, not held as an Alt prefix), with CSI/SS3 decoding and X10/SGR mouse support. - Editable, persistent window titles, saved in sessions and profiles.
- A color palette selector (color, black-and-white, monochrome) plus 256-color and truecolor sequences approximated to the 16-color palette; modern-CLI glyphs render as CP437 so remote TUIs stay clean.
- English and Spanish application interfaces, switchable at runtime.
- A quick session wizard for one to four ad-hoc panes.
- Installation: prebuilt packages, dependencies, configure, build, and tests.
- Usage: learn the controls, wizard, profiles, and session lifecycle.
- Screenshots: view the English workspace, menu, and wizard captures.
- Configuration: define window classes, profiles, and detachable sessions.
- Architecture: understand the PTY, screen, layout, and FreeVision layers.
- Development: work on the source tree and run the regression suite.
- Troubleshooting: diagnose build, configuration, SSH, and terminal issues.
The supported native platform is GNU/Linux, combining GNU userland and tools
with the Linux kernel. The program uses POSIX PTYs, fork/exec, /proc,
select, and the bundled FreeVision text UI. Windows would require a ConPTY
backend and Windows-specific process and resize code. WSL is the practical way
to run the current GNU/Linux build on Windows.
Detached sessions are owned by a per-user session server, so leaving the FreeVision client does not close local shells or remote SSH connections.
- Prefer SSH keys or an SSH agent over passwords.
- The application creates
~/.supertermmode700and writes its files mode600, because they may contain credentials. - Do not put passwords in command lines or debug logs.
- Treat
postconnectand local command fields as shell commands under the configured login shell.
Built for GNU/Linux and macOS with Free Pascal and FreeVision.