Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content

Silkie / Terminal emulator / macOS + Linux

A terminal for richer interaction.

Silkie is a terminal emulator for macOS and Linux, built on kitty. It extends the terminal with pen and touch input, vector graphics, HDR color, and display timing feedback.

Run your shell and terminal applications. Build software that can draw, respond to a stylus, and understand the display it is running on.

Open source · Main branch: silkie

Specifications and documentation

03 / Silkie extensions

Pen, touch, ink, vectors, color, and timing. Explore Silkie’s additions.

02 / kitty + kitten tools

The terminal emulator Silkie forks, with graphics, keyboard protocols, and tools called kittens. Read kitty’s docs and kitten docs.

01 / Terminal foundations

The text stream and VT/xterm-style control sequences that kitty extends. Read the underlying references.

Features

Silkie adds protocols that applications can discover and use as needed. Support depends on the operating system, input device, display, and compositor; each specification describes its capabilities and limits.

Pen, touch, and gestures

Give applications pressure and tilt information, touch contacts, smooth scrolling, and gesture events. Inspect what a device reports with the show_pointer kitten.

Tablet input · Scrolling · Gestures · Haptics

Vector graphics and ink

Send paths and scenes for the terminal to render at the displayed size. Let the terminal draw pen strokes as input arrives, without waiting for each sample to make a round trip to the application.

Vector images · Terminal-side ink · GPU surfaces

Color beyond ordinary SDR

Use wider color spaces and request brightness above SDR white on supported displays. Query the available headroom and control transparency at the cell level.

HDR · Wide gamut · Cell alpha

Display and presentation feedback

Learn about the display, receive input timing information, and track when a frame is presented. Use those reports to coordinate drawing with the terminal.

Display information · Latency · Frame presentation

Install

Binary packages are available from Homebrew for Apple Silicon macOS, and the APT repository for Linux. See Install Silkie for the supported targets and installation instructions.

To build from source, use the silkie branch. You will need Git, a C compiler, and Go; Linux also needs the system libraries listed in the installation guide. The build script downloads the remaining build dependencies.

git clone --branch silkie https://github.com/adamdeprince/silkie.git
cd silkie
./dev.sh build
./kitty/launcher/kitty

The executable retains the name kitty. Running this checkout’s executable launches Silkie with its extensions. Upstream kitty packages install upstream kitty; use the Silkie packages or source above to get these additions.

Documentation

Silkie’s specifications describe the additions. Read them alongside the upstream references to understand the terminal as a whole.

Find the specifications

The developer guide brings together terminal standards, kitty and kitten manuals, Silkie’s extension specifications, and links to the source.

Developer guide

Use the extension reference

Find escape sequences, fields, units, replies, and platform limits. Start with capability discovery and shared framing, then choose a protocol.

All Silkie specifications · Capability discovery

Follow the upstream manuals

kitty documents inherited terminal behavior. Its kittens are tools and plugins that use and extend kitty, such as image display, SSH integration, and remote control.

kitty manual · Kitten tools · kitty protocols