Skip to content
Opensource internals
  • Posts

Architecture

tmux Splits the Terminal into Panes: A Tree, Not a Geometry Problem

Oct 6, 2026 9 min read Jay Hubbert

The hard part of tmux’s pane splitting isn’t the geometry — it’s serialisability.

TmuxArchitectureInternalsLayout

Read more →

Why tmux Needs Its Own Terminal Emulator

Sep 28, 2026 8 min read Jay Hubbert

ncurses assumes one application owns one terminal. A multiplexer owns N screens and has to render them into one terminal without the terminal knowing.

TmuxArchitectureInternalsTerminal

Read more →

tmux Runs Real ptys for Every Pane

Sep 12, 2026 9 min read Jay Hubbert

A pane isn’t a picture of a terminal — it’s a real pty with a real process behind it, in its own session.

TmuxArchitectureInternalsPty

Read more →

Why tmux Is a Server and Not a Terminal Program

Aug 14, 2026 8 min read Jay Hubbert

tmux is a daemon that owns real ptys plus thin clients that connect over a UNIX socket.

TmuxArchitectureInternalsIpc

Read more →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·