Show HN: Horizon – GPU-accelerated infinite-canvas terminal in Rust
Source: Hacker News
Horizon is a GPU‑accelerated terminal board that puts all your sessions on an infinite canvas. Organize, pan, zoom, and never lose a terminal again.
Why Horizon?
Tabbed terminals hide your work. Tiled terminals box you in. Horizon gives you a canvas — an infinite 2‑D surface where every terminal lives as a panel you can place, resize, and group however you want.
Think of it as a whiteboard for your terminal sessions. Keep your frontend, backend, logs, and AI agents all visible at once — across multiple color‑coded workspaces — and navigate between them with a minimap.
Highlights
Infinite Canvas
Pan and zoom freely across a boundless workspace surface. Place terminals anywhere. A minimap in the corner keeps you oriented — click it to jump.
Workspaces
Group related panels into color‑coded workspaces. Auto‑arrange with five layout modes — rows, columns, grid, stack, cascade — or drag panels freely.
Full Terminal Emulation
24‑bit color, mouse reporting, scrollback, alt‑screen, and Kitty keyboard protocol. Powered by the Alacritty terminal engine — the same one behind the fastest terminal on the planet.
AI Agent Panels
First‑class Claude Code and Codex integration. Sessions persist and auto‑resume. A live usage dashboard tracks token spend across agents.
Git Integration
A built‑in git status panel watches your repo in the background. See changed files, inline diffs, and hunk‑level detail — no context switching.
Smart Detection
Ctrl+click a URL to open it. Hover a file path and click to jump to it. Horizon sees what your terminal prints and makes it interactive.
Live Settings Editor
Open the config with Ctrl+, — a side panel with YAML syntax highlighting and live preview. Every change applies instantly to the canvas behind it.
Session Persistence
Close Horizon, come back tomorrow. Your workspaces, panel positions, scroll positions, and terminal history are restored exactly as you left them.
Install
Download (fastest)
Grab the latest binary from the Releases page — no dependencies needed.
| Platform | Asset |
|---|---|
| Linux x64 | horizon-linux-x64.tar.gz – extract, chmod +x, run |
| macOS arm64 | horizon-osx-arm64.tar.gz – extract, chmod +x, run |
| macOS x64 | horizon-osx-x64.tar.gz – extract, chmod +x, run |
| Windows x64 | horizon-windows-x64.exe – download and run |
Build from source
git clone https://github.com/peters/horizon.git
cd horizon
cargo run --release
Requires Rust 1.85+. Linux needs system headers for GPU rendering — see the AGENTS.md prerequisites section for per‑distro install commands.
Quick Tour
| Shortcut | What it does |
|---|---|
| Ctrl+N | New terminal panel |
| Ctrl+K | Quick‑navigate to any workspace |
| Ctrl+, | Open settings editor |
| Ctrl+B | Toggle sidebar |
| Ctrl+M | Toggle minimap |
| Ctrl+0 | Reset canvas view |
| F11 | Fullscreen the active panel |
| Ctrl+Click | Open URL or file path under cursor |
| Ctrl+double‑click (canvas) | Create a new workspace |
On macOS, substitute Cmd for Ctrl.
Configuration
Horizon reads ~/.horizon/config.yaml. Define workspaces, panel presets, and feature flags:
workspaces:
- name: Backend
cwd: ~/projects/api
panels:
- kind: shell
- kind: claude
- kind: git_changes
- name: Frontend
cwd: ~/projects/web
panels:
- kind: shell
- kind: shell
presets:
- name: Shell
alias: sh
kind: shell
- name: Claude Code
alias: cc
kind: claude
- name: Git Changes
alias: gc
kind: git_changes
features:
attention_feed: true
Built With
- Rust – Edition 2024, safe and fast
- eframe / egui – Immediate‑mode UI framework
- wgpu – GPU rendering (Vulkan, Metal, DX12, OpenGL)
- alacritty_terminal – Battle‑tested terminal emulation
- Catppuccin Mocha – Dark color palette
Contributing
See the AGENTS.md for development setup, architecture, coding standards, and CI requirements.
cargo fmt --all -- --check
cargo test --workspace
cargo clippy --all-targets --all-features -- -D warnings
MIT License.
