// the find
cosmos72/twin
Text mode window environment. A terminal emulator and multiplexer with mouse support, overlapped windows and networked clients. Text-mode equivalent of X11 server + VNC server
Twin is a text-mode windowing system — think X11 but in a terminal, with overlapping windows, mouse support, a built-in terminal emulator, and the ability to attach/detach displays over the network. It targets developers and sysadmins who need multiplexed terminal sessions with actual window management rather than tmux-style pane splitting. Actively maintained with recent commits and cross-platform support (Linux, macOS, FreeBSD, Android).
- Network transparency is genuinely useful: you can attach and detach displays on the fly, similar to how you'd use VNC but entirely in text mode — useful for remote server management.
- Runs on top of X11, ncurses terminals, or its own display protocol, meaning you can nest it or run it wherever you have a terminal.
- Truecolor support in a text-mode environment is a real differentiator over tmux/screen, and the character encoding library (Tutf) covers a remarkable number of encodings including many legacy codepages.
- The codebase uses autotools with a custom configure script, builds with both C and C++98, and has explicit porting documentation — lower barrier to get it running on unusual targets than most similar projects.
- Documentation is sparse and partially incomplete — the libtw API reference is marked INCOMPLETE, which matters if you want to write clients against it.
- Only 61 forks and 1055 stars after what appears to be many years of development suggests niche adoption; you'll be largely on your own when something breaks.
- The build system is autotools with vendored libltdl and hand-rolled m4 macros — setting this up in a modern CI/CD pipeline or packaging it for a distro is more work than it should be.
- The protocol uses its own binary format over sockets (not documented fully), so interoperability or writing clients in languages other than C/C++ is underdocumented and risky.