Skip to content
german edited this page Aug 21, 2026 · 16 revisions

superterm

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.

superterm showing four PTY-backed panes

The screenshot shows one workspace divided into four terminal panes. Each pane has its own process, terminal state, focus, and resize behavior.

What It Provides

  • 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, optional sshpass password), or a free connect command, with optional cmd, postconnect, shell, cwd, scrollback, and a default window title.
  • 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 with superterm --attach, the Ctrl-Q s picker, or the startup picker; superterm --list-sessions prints them.
  • A configurable tmux-style prefix key ([keymap] prefix, default Ctrl-Q) so a remote tmux keeps Ctrl-B untouched.
  • A custom keyboard driver: a lone Esc reaches 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.

Start Here

  • 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.

Current Scope

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.

Security Notes

  • Prefer SSH keys or an SSH agent over passwords.
  • The application creates ~/.superterm mode 700 and writes its files mode 600, because they may contain credentials.
  • Do not put passwords in command lines or debug logs.
  • Treat postconnect and local command fields as shell commands under the configured login shell.

Clone this wiki locally