trm

trm

See everything. Switch nothing.

Your editor, server, tests, and docs — all visible at once in a GPU-rendered grid. Stop alt-tabbing between terminals. Start seeing your entire project in one glance.

Build from source
zig build -Doptimize=ReleaseFast
4–9
panes visible at once

Editor, server, tests, logs, docs — no hidden tabs, no memorizing which window is where.

0
context switches

Every pane has a live AI summary. See what changed without switching focus. Your brain stays in flow.

1
config file per project

Drop a trm.toml in your repo. Grid layout, pane commands, watermarks — your whole workspace boots in one command.

Everything You Need, Nothing Hidden

AI Command Palette

Ask AI to run commands, explain errors, or control your terminal. Built into the command palette with search and raw command modes.

🧠

Live AI Summaries

Each pane gets a live summary of its terminal output, updated automatically by the LLM. See at a glance what every pane is doing.

GPU Rendering

Ghostty's battle-tested Metal/OpenGL renderer with background images, custom shaders, and 120fps. Zero tearing, efficient redraw.

Multi-Pane Grid

Jagged grid layout where each row can have different column counts. Broadcast input, navigate with keyboard, jump with Cmd+1-9.

📋

Pane Overlaying

Stack panes in layers — run a terminal over a web page, overlay notes on a log viewer. Toggle focus between foreground and background.

🧩

Plugin System

10 built-in plugin types with an extensible registry. Terminal, WebView, Notes, File Browser, Git Status, and more.

🔗

Smart Text Selection

Ctrl+click to select a URL or path in one click, even across wrapped lines. Ctrl+drag to extend across line breaks. No more broken selections.

🏷

Pane Watermarks

Tag each pane with a large faint label — environment names, server tags, or project identifiers. Set via config or dynamically via AI.

🔌

Text Tap API

Unix socket API for external control. Subscribe to output, send input, execute actions via JSON. Scriptable automation built in.

🔔

Claude Code Notifications

Native macOS notifications when Claude Code is waiting for input. Uses the Text Tap socket — no osascript needed. Drop-in hook script included.

📊

Context Usage Tracking

Real-time Claude Code context window gauge with color-coded warnings. Track daily and weekly token usage with persistent history. Auto-compact alerts built in.

Quick Start

1

Build

git clone https://github.com/keyvez/trm.git
cd trm
zig build -Doptimize=ReleaseFast
2

Create a config

# ~/.config/trm/trm.toml
title = "My Project"
rows = 2
cols = 2

[[panes]]
title = "Editor"
cwd = "~/projects/myapp"
watermark = "EDIT"

[[panes]]
title = "Server"
initial_commands = ["npm run dev"]

[[panes]]
title = "Tests"
initial_commands = ["zig build test"]

[[panes]]
type = "webview"
title = "Docs"
url = "http://localhost:3000"
3

Launch

# From your project directory
trm

# Or specify a config file
trm --config path/to/config.toml

How trm Compares

Feature trm Ghostty iTerm2 WezTerm
GPU-accelerated rendering Metal / OpenGL (Ghostty) Metal / OpenGL Metal (partial) OpenGL / Metal
Multi-pane grid layout Native grid Splits Split panes Splits / tabs
AI command palette Built-in (3 modes) No No No
Live AI summaries Per-pane, auto-updating No No No
Smart text selection Ctrl+click URL / cross-line drag No No No
Pane watermarks Config + AI-settable No No No
Pane overlaying Foreground / background layers No No No
External control API Text Tap (Unix socket) No AppleScript / Python CLI / IPC
Plugin system 10 built-in types + registry No No Lua scripting
Embedded web views WKWebView No No No
Broadcast input Yes No Yes No
Config format TOML Key-value Plist / GUI Lua
Language Zig Zig Obj-C / Swift Rust

Stop switching. Start seeing.

Set up your first multi-pane workspace in under a minute.