What's in it
Built around how real terminal work happens.
Four thematic areas. Each capability is present because the workflow that needs it is common in production engineering environments.
SSH — The Killer Feature
Full libssh2 integration, native
- Authentication: password, public key, SSH agent, keyboard-interactive (MFA — Duo, YubiKey, PAM)
- SSH agent forwarding (
-A) handled in the GUI - X11 forwarding per connection profile — Xauthority cookie generated automatically
- ProxyJump / bastion hop, auto-detected from
~/.ssh/config - Auto-populate from
~/.ssh/config— hosts, identity files, ProxyJump rules - SCP send and receive with a remote directory browser
- Reconnect bar when a connection drops — resume without re-entering credentials
Tiling, Tabs & Sessions
Sessions as first-class objects
- Each window holds one or more tiles in a grid; each tile has its own tab strip
- Drag tabs between tiles or onto other windows; drag the tile header to relocate the whole tile
- Broadcast input — send the same keystrokes to multiple sessions simultaneously
- Auto-save and restore open sessions on launch
- Named workspaces — save layouts and switch between them on demand
- Horizontal or vertical tiling direction set per window, with a global default
Terminal Internals
A real, complete VT implementation
- Hand-written VT100 / ANSI parser — SGR attributes, OSC sequences
- UTF-8 rendering (basic BMP characters)
- Configurable scrollback buffer (default 100,000 lines)
- Alternate screen support for full-screen TUI apps (
vim,htop,tmux) - Find in Terminal (
Ctrl+Shift+F) — case-insensitive search across the full scrollback, with match highlighting and forward/backward navigation - Bracketed paste with optional confirmation dialog
- URL detection and click-to-open
Serial, Files & Appearance
Built for the long-tail use cases too
- Serial console support — configurable baud rate, data bits, stop bits, parity, flow control
- Optional dial script executed before I/O (for modem-style connections)
- Built-in themes: Solarized Dark, Solarized Light, xterm — all base16-compatible
- Custom themes via drop-in
.inifiles in~/.nate/themes/ - Font family and size picker (monospace only); cursor styles (block, bar, underline) with optional blink
- Bell modes: none, visual flash, audible
Feature spotlight
Wrap mode and column width — actually decoupled
In a classic terminal, the shell's reported width equals the window width. Any output beyond that column is silently truncated and lost. naTE decouples these.
You can set a column width — what the shell believes the terminal is, e.g. 220 columns — independently of the visible tile width. Long lines are captured in full rather than discarded. The wrap button in the tile title bar then controls how those lines are presented: wrap on reflows them into the visible area; wrap off lets the viewport scroll horizontally so each line stays on one row. Per-connection column-width overrides are available in the connection profile, so high-throughput log monitoring on a specific host doesn't get clipped by your local window size.