Text mode window environment. A "retro" program for embedded or remote systems, that doubles as X11 terminal and text-mode equivalent of VNC server
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
TODOS version 0.5.2 Dec 1, 2007
admin working version of hw_xft with some ifdefs still to clean up Jun 4, 2018
clients xft: use pkg-config instead of hardcoded path -I/usr/include/freetype2 Jun 10, 2018
conf cleanup Nov 27, 2016
contrib xft: use pkg-config instead of hardcoded path -I/usr/include/freetype2 Jun 10, 2018
docs xft: use pkg-config instead of hardcoded path -I/usr/include/freetype2 Jun 10, 2018
fonts version 0.5.2 Dec 1, 2007
include xft: use pkg-config instead of hardcoded path -I/usr/include/freetype2 Jun 10, 2018
libs xft: use pkg-config instead of hardcoded path -I/usr/include/freetype2 Jun 10, 2018
m4 improved warning "cannot run ldconfig now..." Dec 18, 2016
scripts preparatory work to enable double-width Unicode characters (asian...) Mar 24, 2018
server xft: use pkg-config instead of hardcoded path -I/usr/include/freetype2 Jun 10, 2018
themes xft: use pkg-config instead of hardcoded path -I/usr/include/freetype2 Jun 10, 2018
.gitignore recreated README and server/missing.c as symlinks Mar 25, 2018
BUGS updated BUGS Dec 10, 2016
COPYING version 0.2.6 Nov 29, 2002
COPYING.LIB version 0.4.5 Oct 25, 2002
Changelog.txt Removed support for non-Unicode builds. From now on, twin can ONLY be… Jul 2, 2016
INSTALL * commented "GlobalFlags +TerminalsUtf8" in distributes system.twinrc Dec 13, 2016
Makefile.am removed non-ASCII characters from sources Dec 18, 2016
Makefile.in xft: use pkg-config instead of hardcoded path -I/usr/include/freetype2 Jun 10, 2018
README recreated README and server/missing.c as symlinks Mar 25, 2018
README.git * commented "GlobalFlags +TerminalsUtf8" in distributes system.twinrc Dec 13, 2016
README.md update README.md Mar 24, 2018
README.porting version 0.8.0 Apr 18, 2018
acinclude.m4 improved compiling and loading modules with libtool; various autoconf… Dec 3, 2016
aclocal.m4 xft: use pkg-config instead of hardcoded path -I/usr/include/freetype2 Jun 10, 2018
configure configure: REALLY detect if pkg-config is not available Jun 11, 2018
configure.ac configure: REALLY detect if pkg-config is not available Jun 11, 2018
missing_checks added some more missing checks to ./configure Dec 4, 2016
system.twenvrc.sh version 0.6.1 Feb 22, 2009
system.twinrc support mouse wheel on Linux console + gpm. May 14, 2018
twin-current.lsm version 0.5.0 Jun 19, 2003

README.md


Twin - a Textmode WINdow environment, by Massimiliano Ghilardi

Version 0.8.0

Twin is a windowing environment with mouse support, window manager, terminal emulator and networked clients, all inside a text display.

It supports a variety of displays:

  • plain text terminals (any termcap/ncurses compatible terminal, Linux console, twin's own terminal emulator);
  • X11, where it can be used as a multi-window xterm;
  • itself (you can display a twin on another twin);
  • twdisplay, a general network-transparent display client, used to attach/detach more displays on-the-fly.

Currently, twin is tested on Linux (i386, x86_64, ARM, ARM64, PowerPC, Alpha, Sparc), on Mac OS X (x86_64) and on FreeBSD (i386, x86_64). I had yet no chance to seriously test it on other systems.


Documentation

Tutorial A quite complete tour of twin features: the user interface, how to use twin clients, compression, attaching/detaching displays, fonts. It also contains installation instructions and some caveats for system administrators.

COPYING License: twin server and clients are GPL'ed software.

COPYING.LIB Library license: the libraries libTutf, libTw, libTT are LGPL'ed software.

INSTALL Quick compile/install guide.

system.twinrc A detailed example of ~/.twinrc look-n-feel configuration file.

The following documentation is useful mostly to developers:

Configure Description of twin configuration options with the meaning of every single one.

README.git Hints to build twin from GIT repository.

README.porting Tips and warnings to compile twin on unsupported OSes.

libTw.txt reference API for programmers who want to write twin clients (INCOMPLETE).

libTw++.txt reference API for programmers who want to write twin C++ clients (INCOMPLETE).


Getting twin

Since you are reading this README, you probably already have it, anyway twin can be downloaded from

https://github.com/cosmos72/twin


Building and installing twin

For detailed instructions about compiling and installing twin, see sections 3 and 4 of the file docs/Tutorial

For the impatient, it basically reduces to

  ./configure
  make

then run as root

  make install

on Linux, also remember to run as root:

  ldconfig

on FreeBSD instead, remember to run as root:

  ldconfig -R

To compile twin you need the following programs installed on your system:

  • a Bourne-shell or compatible (for example bash, dash, ash...)

  • make (most variants are supported: GNU make, BSD make...)

  • an ANSI C compiler (for example gcc or clang)

Note: it is STRONGLY recommended to install at least the following packages before compiling twin (the exact names depend on the operating system or Linux distribution):

  • x11-dev - may be named x11-devel, libx11-dev ...
  • xpm-dev - may be named xpm-devel, libxpm-dev ...
  • ncurses-dev - may be named ncurses-devel, libncurses-dev ...
  • zlib-dev - may be named zlib1g-dev, zlib-devel, libzlib-dev ...

On Linux, it is STRONGLY recommended to also install the following package before compiling twin:

  • gpm-dev - may be named gpm-devel, libgpm-dev ...

For a discussion about MANUALLY configuring twin (almost never necessary), see the file docs/Configure. -- WARNING: if you manually enable options that were disabled by `./configure', build will almost certainly fail! --


Other topics:

See the rest of the documentation, starting from the Tutorial

Greetings,

Massimiliano Ghilardi