-
-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Alejandro Quintanar edited this page Nov 30, 2025
·
1 revision
Welcome to the term39 wiki!
TERM39 is a modern terminal multiplexer with a classic MS-DOS aesthetic, built in Rust. It provides a full-screen text-based interface with authentic DOS-style rendering, complete terminal emulation, and window management capabilities.
| Getting Started | Usage | Advanced |
|---|---|---|
| Installation | Keyboard Shortcuts | Framebuffer Mode |
| Building from Source | Mouse Controls | Configuration |
| Platform Support | Window Mode | Themes |
- Retro DOS Aesthetic - Classic blue-and-white color scheme with authentic box-drawing characters
- Multiple Terminal Windows - Create, drag, resize, minimize, and maximize windows
- Window Management - Automatic tiling, snap-to-corners, focus management with ALT+TAB
- Session Persistence - Auto-save/restore window layouts and terminal content
-
Command Launcher - Quick command palette with
Ctrl+Space - Clipboard Support - System clipboard integration with drag-to-select and keyboard shortcuts
- 13 Built-in Themes - Classic, Dark, Monochrome, Green Phosphor, Amber, Dracula, NDD, QBasic, Turbo, Norton Commander, XTree, WordPerfect, dBASE
- Character Set Options - Unicode (default), Single-line Unicode, or ASCII compatibility mode
- Terminal Tinting - Optional theme-based color transformation for terminal output
| Feature | Linux | macOS | Windows |
|---|---|---|---|
| Terminal Backend | OK | OK | OK |
| Framebuffer Mode | OK | - | - |
| Console Mouse | OK | - | - |
| System Clipboard | OK | OK | OK |
| Battery Indicator | OK | OK | OK |
# From crates.io (recommended)
cargo install term39
# With framebuffer support (Linux only)
cargo install term39 --features framebuffer-backendterm39 # Unicode mode (recommended)
term39 --ascii # ASCII compatibility mode
term39 --theme dark # With a different theme| Key | Action |
|---|---|
t |
New terminal window |
T |
New maximized terminal |
F2 / ALT+TAB
|
Switch windows |
Ctrl+Space |
Command launcher |
? / F1
|
Help screen |
q / ESC
|
Exit (from desktop) |
TERM39 uses a layered architecture designed for performance and cross-platform compatibility:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β User Interface β
β (Window Manager, UI Rendering, Input Handling) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Video Buffer β
β (Double-buffered, Dirty Region Tracking) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Rendering Backend β
β βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββ β
β β Terminal Backend β Framebuffer Backend β β
β β (crossterm) β (/dev/fb0, Linux) β β
β βββββββββββββββββββββββ΄ββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Terminal Emulation β
β (VTE ANSI Parser, PTY Integration) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Component | Description |
|---|---|
| Video Buffer | Double-buffered rendering with dirty region tracking for efficient updates |
| Window Manager | Z-order management, focus handling, drag/resize operations |
| Terminal Emulator | Full VT100/ANSI support via VTE parser with portable-pty |
| Render Backend | Abstraction layer supporting terminal and framebuffer rendering |
| Mouse Input | Unified input system supporting crossterm, raw /dev/input, and framebuffer modes |
- Current Version: 0.15.0
- Rust Edition: 2024
- Minimum Rust Version: 1.70+
- License: MIT
We welcome contributions! Please see our Contributing Guidelines for details on:
- Code style and formatting
- Pull request process
- Issue reporting
- Development setup
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Source Code: GitHub Repository
- Home (you are here)
- Installation
- Keyboard Shortcuts
- Window Mode
- Configuration
- Themes
- Framebuffer Mode
- FAQ