ProjectsTerminal Sort
17 / Tools / X11

Terminal Sort

A pure-Rust X11 utility for picking, tiling, renaming, and font-scaling terminal windows across monitors.

Category
Tools / X11
Stack
Rust · x11rb · CLI · X11
Year
2026

Overview

Terminal Sort is built for a multi-terminal development desk. It lists windows and monitors, lets the user pick a specific number of terminals or all terminals, then arranges them as horizontal splits, vertical stacks, or an automatic grid.

It also treats window titles as part of the workflow. Titles can be set once or pinned with repeated OSC updates so programs that constantly rewrite their title, such as coding agents, do not erase the operator's labels.

Methodology

The tool talks directly to X11 through x11rb rather than shelling out to xdotool or wmctrl. Window selection, monitor targeting, layout geometry, and terminal-class detection stay inside one typed client, which keeps the dependency and failure surface small.

Font scaling is separated from geometry: GNOME Terminal can be adjusted through gsettings when splits would make text too small, while tiling and renaming continue to work for Kitty and other configured terminals. Pinned titles use a bounded interval and can be disabled for one-shot renames.

What it does

  • Horizontal, vertical, and automatic grid layouts
  • Click-to-pick or wildcard selection of terminal windows
  • Monitor targeting by connected-display index
  • GNOME Terminal font scaling with reset support
  • One-shot and pinned window renaming via OSC sequences
  • GNOME Terminal, Kitty, and configurable terminal-class support