Parsing stays off the UI thread
PTY reading and terminal parsing run on workers, with bounded queues and history. A frame draws an owned snapshot of the visible rows, without locks or live sessions.
GPU rendering, real shell sessions and a quiet workspace interface. Written in Rust, with no webview.
Real shell sessions on a native PTY. Your prompt, your tools, your keys.
Three themes, nine accents, and type set the way you read. Try them: this whole page follows.
Preferences
Appearance
Text
Cursor
Rust, a real PTY and a GPU renderer. No webview.
PTY reading and terminal parsing run on workers, with bounded queues and history. A frame draws an owned snapshot of the visible rows, without locks or live sessions.
0.5%
of one core, with a quiet shell open
A settled window does not repaint. It wakes for output, input and cursor deadlines.
Release build on Linux, one quiet zsh, 20-second sample. A single local observation. How it was measured.
terminal revisions450,497
repaint requests142
Output notifications coalesce until the renderer catches up, so a flood of small reads does not become a flood of redraws.
64 MiB through a real PTY with a simulated 120 Hz consumer. One local run on Linux. How it was measured.
workspaces.json
Folders, splits and focus come back on launch with fresh shells. Commands and process memory are never written, and SSH keeps only the destination.
CtrlShiftwith
Tab, arrows and Escape go to the terminal. Every action has a shortcut and a place in the command palette.
Neptune is early and has no packaged release yet. With Rust installed, it is three commands.
$git clone https://github.com/zevem/neptune$cd neptune$cargo run --release --locked --bin neptune
Needs a graphical desktop and a working graphics driver. Build requirements for each platform.