Skip to content

Development

Germán edited this page Aug 20, 2026 · 4 revisions

Development

Source Tree

  • src/: Free Pascal application units.
  • vendor/fv322/: local FreeVision source overlay.
  • docs/: detailed build, configuration, and wizard documentation.
  • examples/: configuration examples.
  • test/: Python/pyte PTY regression tests.
  • bin/ and build/: generated output, ignored by Git.

Build Workflow

Configure the tree and build a release binary:

./configure
make release

Use the debug build when compiler symbols or runtime diagnostics are needed:

make debug
SUPERTERM_DEBUG=/tmp/superterm-debug.log ./bin/superterm-debug

Tests

Run the complete suite with:

make test

The tests launch isolated PTYs and exercise pane operations, large terminal sizes, xterm and tmux mouse input, focus routing, session restore, configured terminals, INI and SQLite templates, the wizard, language switching, and window controls.

Individual tests can be run directly:

python3 test/drive_test.py
python3 test/large_screen_test.py
python3 test/mouse_test.py
python3 test/restore_test.py
python3 test/sysconfig_test.py
python3 test/template_test.py
python3 test/sqlite_test.py
python3 test/wizard_test.py
python3 test/language_test.py
python3 test/window_test.py

Change Guidelines

  • Keep PTY and process changes isolated from UI changes when possible.
  • Preserve the local FreeVision overlay; do not modify system FPC packages.
  • Add or update a regression test for behavior changes.
  • Use temporary directories and isolated processes for destructive tests.
  • Do not place passwords in source files, command lines, or debug logs.

Platform Boundary

The supported native platform is GNU/Linux/POSIX. A native Windows port would need a ConPTY backend and Windows-specific process, resize, signal, and path code.

Clone this wiki locally