Skip to content
Search

Twin

lastmod 2025-12-10created 2025-08-192 edits

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

Text mode window environment (Textmode WINdow)

About

  • Implements the core concepts of the X11 graphical environment in text mode, providing a window environment on text displays
  • Provides independent display of multiple windows, interaction with external programs, menu and gadget support, virtual screens and scrolling, etc.
  • A window manager with mouse support, also including a built-in terminal emulator
  • Runs on various displays (text terminals, X11, self - displaying Twin itself inside another Twin, the twdisplay client)
    • twdisplay is a network-transparent display client that can attach/detach multiple displays on the fly
  • Tested on various platforms including Linux, macOS, FreeBSD, and Android, and supports several architectures (i386, x86_64, arm, etc.)

Key differentiators

  • Each window has an associated menu, and only the menu of the focused window is shown
    • Multiple windows can share the same menu
  • A window's border is part of each window and can be partly customized by external programs
    • However, the position and style of buttons/scrollbars are controlled by Twin's built-in window manager (Look&Feel can be configured in the twinrc file)
  • Windows are not just rectangles; a window can contain other windows or ‘gadgets’ (buttons, etc.)
    • They can also contain lines longer than, or more lines than, the window itself, so scrolling is supported
  • Virtual Screen support
    • Provides large spaces such as 64K character cells on one screen; scrolling and screen switching with mouse buttons and movement
  • Built-in window manager
    • Controls focus changes, moving/resizing windows, switching virtual screens, menu actions, delivering key/mouse events, scrolling, etc.
  • Built-in terminal emulator
    • Runs ordinary tty programs without a separate xterm or the like
    • Also includes twterm, an external client, for use when needed (the built-in code is loaded automatically when needed)

See also

Favorite site

author Zer0 sitemap