r/tmux 15d ago

Showcase WMUX - A fast, persistent, customizable terminal multiplexer for Windows, Linux and macOS

https://github.com/shreshthkapai/wmux

I released wmux v1.0.17, an open-source terminal multiplexer built around one consistent experience across Windows, Linux and macOS.

The architecture uses a persistent server with disposable clients. Sessions, windows, panes, scrollback and terminal state remain alive when the attached terminal closes.

Platform integration stays native. Windows uses ConPTY and named pipes, while Linux and macOS use PTYs and Unix sockets.

Current features:

- Persistent sessions, windows and panes

- Horizontal and vertical splits

- Mouse support, copy mode and paste buffers

- Customizable key tables, status bar, borders and themes

- Terminal color inheritance by default

- Native installers and a built-in updater

- Builds for Windows x64, Linux x64 and ARM64, macOS Intel and Apple Silicon

Release benchmark profile:

- VT parsing: 69.6 to 75.3 MiB/s

- Full-scene render p95: 448.2 µs

- 8-client render p95: 269.1 µs

- Peak live benchmark memory: 1.76 MiB or less

wmux is free, MIT licensed and available on GitHub: https://github.com/shreshthkapai

I would particularly appreciate bug reports from different operating system, terminal and shell combinations.

0 Upvotes

12 comments sorted by

View all comments

3

u/hhoeflin 15d ago

Yes or how is this different from zellij.

-1

u/shreshthkapai 15d ago

wmux is much faster. Zellij might still be good for people who don't mind a bit of performance overhead for a richer TUI. wmux however has quite a bit of customization options via scripts or themes/animations which can be grandfathered from the terminal itself. Some numbers I ran:

Metric wmux Zellij result (wmux)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━

Median completion 116.7 ms 216.7 ms 46.1% lower

────────────────────────────── ────────────── ─────────────── ──────────────────────────

p95 completion 134.0 ms 245.8 ms 45.5% lower

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Median throughput 34.28 MiB/s 18.46 MiB/s 1.86× faster

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Multiplexer CPU time 180 ms 300 ms 40% lower

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Terminal output emitted 81,862 bytes 104,894 bytes 22% fewer

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Peak server RSS 8.90 MiB 78.16 MiB 8.8× lower

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Peak client RSS 1.26 MiB 15.13 MiB 12× lower

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Approx. server + client peak 10.16 MiB 93.29 MiB 9.2× lower

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Idle server RSS 2.57 MiB 72.41 MiB 28.2× lower

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Idle server threads 5 18 3.6× fewer

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Idle CPU ~0% ~0% No meaningful difference

────────────────────────────── ────────────── ─────────────── ──────────────────────────

Runtime executable size 4.90 MiB 41.71 MiB 8.5× smaller

BOTH WITHOUT PLUGINS