Skip to content
Opensource internals
  • Posts

Tmux

How tmux Parses Escape Sequences Fast

Oct 11, 2026 11 min read Jay Hubbert

The single hottest path in tmux is not the redraw — it is the parser. Every byte that any program in any pane produces goes through tmux’s own VT parser, and a yes or a cat of a …

TmuxPerformanceInternalsInput

Read more →

How tmux Splits the Terminal into Panes

Oct 6, 2026 9 min read Jay Hubbert

Splitting a terminal into panes sounds like a geometry problem, and it is — but the hard part is not the geometry. It is that the layout has to be serialisable, so that it can be …

TmuxArchitectureInternalsLayout

Read more →

How tmux Sanitises Window Names Against Injection

Oct 2, 2026 8 min read Jay Hubbert

Window names in tmux are not just strings. They end up in status lines, in control-mode notifications, in #{window_name} format expansions, and in hook commands that are expanded …

TmuxSecurityInternalsSanitisation

Read more →

Why tmux Needs Its Own Terminal Emulator

Sep 28, 2026 8 min read Jay Hubbert

tmux links against ncurses. It uses ncurses for exactly one thing: reading the terminfo database. Everything else — parsing escape sequences, maintaining the screen, tracking the …

TmuxArchitectureInternalsTerminal

Read more →

tmux Control Mode Is an Unauthenticated Command Channel

Sep 19, 2026 7 min read Jay Hubbert

tmux -C puts tmux into control mode: instead of drawing a screen, the client speaks a line protocol and gets structured events back. It is the mechanism behind tmux integrations in …

TmuxSecurityControl modeInternals

Read more →

← Newer Page 1 of 3 Older →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·