A whole desktop in your terminal

Odin Seat.

Overlapping windows. Sessions that keep running. Kitty graphics and Silkie extensions, all in one terminal.

Named for Odin’s high seat: a place to survey your world. The spirit of DESQview, with a modern terminal underneath.

  • Apache 2.0
  • C++23
  • macOS + Linux
The Odin Seat mascot, a fluffy black-and-white Silkie chicken your desktop companion
Overlap.A place for every window.
Detach.Your programs keep running.
Draw.Kitty graphics. Sixel. Silkie.
Return.Your session is still there.

01 / Your workspace

Make room for
all your work.

An editor here. A shell there. A picture wherever you need it. Move, resize, raise and overlap windows on a single terminal desktop.

Odin Seat with overlapping windows showing an equation editor, a gnuplot 3D surface plot, Chrome through Goblin Scry, and a shell
A working Odin Seat desktop: mathematical notation, a gnuplot 3D plot, and Chrome through goblin-scry, alongside a shell. Text and graphics in one overlapping workspace.View full resolution
01 / Arrange

Your windows, your layout.

Drag a frame to move it, grab the corner to resize, or use the menu to snap and zoom. Select a window to bring it to the front.

02 / Keep going

The server keeps your place.

Each window has its own terminal state and scrollback. Detach from the desktop while shells, editors and long-running jobs carry on.

03 / Share the session

One desktop. More than one view.

Attach from multiple terminals. Smaller clients follow the focused window through a viewport; the desktop uses the largest attached size.

02 / Beyond the character cell

A modern terminal
all the way through.

Your programs talk to a terminal inside every window. Odin Seat keeps their state separate, translates coordinates and carries supported features through to the terminal you attach from.

01TEXT + PIXELS

Kitty, window by window.

Enhanced keyboard input, inline graphics, styled text, clipboard access and file transfer. Image placements move and clip with their windows.

  • Kitty graphics ↔ sixel translation
  • Keyboard modes and palettes per window
  • OSC 66 text sizing on supporting hosts
Explore the Kitty protocols
02PEN + TOUCH + DISPLAY

Silkie comes along.

Capability queries, tablet input, gestures, pixel scrolling, display information and frame feedback. Input follows the window where a contact began.

  • Pen and touch coordinates translated
  • Application modes kept per window
  • Capabilities negotiated with attached hosts
Read the Silkie specifications
MEET YOUR TERMINAL WHERE IT IS

Use a terminal that supports the features you need. Kitty and sixel images are emitted in the host’s format; text-only clients omit images. Silkie extensions are offered when an attached host advertises them. A monochrome mode supports e-paper displays.

03 / A familiar rhythm

Open. Work.
Walk away.
Come back.

Run odin-seat to create a session or return to an existing one. The menu is an Alt tap away.

On terminals that swallow an Alt tap, use Ctrl + \. In Ghostty on macOS, set macos-option-as-alt = true so Option reaches the menu.

TAP Alt, RELEASE, THEN…

O
Open a windowAnother shell, another place to work.
R
Rearrange the desktopMove, resize or snap a window into place.
Z
Zoom the focused windowGive the task in front of you more room.
M
Mark and copySearch screen and scrollback; copy a selection.
D
Detach the sessionKeep every program running in the server.
?
Find your way aroundThe keys, the mouse and terminal setup.

04 / Make yourself at home

Your next
terminal session
starts here.

Get a package for macOS, Debian or Ubuntu, or build from source with a C++23 compiler, Make and zlib.

The package and command are odin-seat. Check the repository catalog for builds matching your operating system and architecture.

macOS / Homebrew

# Add the Goblin Reactor tap
brew tap goblinreactor/tap \
  https://brew.goblinreactor.com/homebrew-tap.git

# Install and open your desktop
brew install goblinreactor/tap/odin-seat
odin-seat

The tap includes the command, manual pages and input-method dictionaries. Check available bottles ↗

Debian / Ubuntu

First, add the signed Goblin Reactor repository for your distribution using its setup instructions.

# After setting up the package repository
sudo apt update
sudo apt install odin-seat

# Open your desktop
odin-seat

Use the repository’s instructions for your distribution and architecture. View supported releases ↗

Build from source

From a current Odin Seat source checkout, run:

make
make test
make install

# The default install prefix is ~/.local
~/.local/bin/odin-seat

Requires a C++23 compiler, Make and zlib development headers. Add ~/.local/bin to your PATH to run odin-seat by name.

ONCE YOU’RE IN

odin-seat new-window -- htop
man odin-seat
man odin-seat-protocols