Void is an infinite canvas terminal emulator — GPU-accelerated, cross-platform. No tabs, no splits, no tiling — just an infinite 2D surface where you place terminals anywhere with pan and zoom navigation.
- Infinite 2D canvas where you place terminals anywhere
- GPU-accelerated 60fps rendering via wgpu (Vulkan, Metal, DX12)
- Real terminal emulation powered by alacritty_terminal (ANSI/VT100, 256-color, truecolor)
- Workspaces, command palette, minimap, keyboard-first design
Download the latest binary for your platform from the Releases page — no build step required.
Built entirely in Rust. Zero web technologies. No Electron, no WebView, no JavaScript runtime. Native performance via wgpu.
You ──► Infinite Canvas (pan/zoom) ──► Terminal Panels (drag/resize anywhere)
GPU-rendered (wgpu) ↕
alacritty_terminal + portable-pty
↕
Real shell (bash, zsh, powershell, ...)
Each terminal panel is an independent PTY process rendered onto the canvas via the GPU. Panels can be freely dragged, resized, and arranged in any spatial layout you want. Zoom out to see everything, zoom in to focus.
| Infinite Canvas | Pan, zoom, and place terminals anywhere on a boundless 2D surface |
| GPU Accelerated | 60fps rendering via wgpu — Vulkan, Metal, and DX12 backends |
| Real Terminal Emulation | Powered by alacritty_terminal — full ANSI/VT100, 256-color, truecolor |
| Workspaces | Independent canvas views for different contexts, each with their own layout |
| Command Palette | Ctrl+Shift+P — fuzzy search across all actions |
| Minimap | Bird's-eye overview of your entire terminal layout |
| Keyboard-First | Every action reachable without a mouse |
| Cross-Platform | Windows, Linux, macOS |
| Action | Shortcut |
|---|---|
| New terminal | Ctrl+Shift+T |
| Close terminal | Ctrl+Shift+W |
| Command palette | Ctrl+Shift+P |
| Rename terminal | F2 |
| Focus next / prev | Ctrl+Shift+] / [ |
| Toggle sidebar | Ctrl+B |
| Toggle minimap | Ctrl+M |
| Toggle grid | Ctrl+G |
| Zoom in / out | Ctrl+= / - |
| Reset zoom | Ctrl+0 |
| Fit all terminals | Ctrl+Shift+0 |
| Pan canvas | Middle-click drag / Scroll |
| Zoom | Ctrl+Scroll / Trackpad pinch |
src/
├── app.rs # main application loop
├── canvas/ # pan, zoom, viewport math, minimap, grid
├── terminal/ # panel rendering, PTY management, input handling
├── sidebar/ # workspace list, session list, quick actions
├── command_palette/ # fuzzy search, command registry
├── state/ # workspace & panel state management
├── theme/ # color palette, fonts
├── config/ # schema, defaults, hot-reload
├── shortcuts/ # keybinding system
└── utils/ # ids, platform detection
Stack: eframe + egui + wgpu + alacritty_terminal + portable-pty
- Infinite canvas with pan/zoom
- GPU-accelerated rendering (wgpu)
- Real terminal emulation (alacritty_terminal + portable-pty)
- Multiple terminals with independent PTY processes
- Full ANSI color support (16, 256, truecolor)
- Workspaces with viewport persistence
- Command palette with fuzzy matching
- Minimap navigation
- Panel drag, resize, close, rename, focus cycling
- Layout persistence (save/restore on quit)
- Snap guides for panel alignment
- Smart panel positioning (gap-filling algorithm)
- Resize snap with virtual accumulation (escape snap zones naturally)
- Terminal input: Ctrl+Backspace, Ctrl+Delete, modifier-aware F-keys
- Extensible panel system (CanvasPanel enum)
- Canvas configuration constants (centralized tuning)
- Auto-update checker with silent install
- Session restore (reopen terminals with CWD + scrollback)
- Configuration hot-reload (TOML)
- Auto-layout engine (tidy, arrange)
- Built-in theme engine + custom themes
- Embedded webviews (CEF/Servo offscreen rendering)
- Plugin system
Void is open source and contributions are welcome.
- Clone the repository
git clone https://github.com/190km/void.git
cd void-
Make sure you have the Rust toolchain installed (rustup.rs)
-
Run in dev mode and hack away
cargo run- Check before submitting
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --check
cargo testSee RELEASING.md for the Linux, macOS, and Windows release flow.
If you find a bug or have a feature request, open an issue.
MIT — 190km

