david@david-mb ~/dev/libtsm $ ls -la
total 2028
drwxr-xr-x 11 david david 4096 Oct 29 08:09 .
drwxr-xr-x 29 david david 4096 Oct 28 14:46 ..
-rw-r--r-- 1 david david 51859 Oct 22 15:06 aclocal.m4
-rwxr-xr-x 1 david david 212 Oct 29 07:49 autogen.sh
drwxr-xr-x 2 david david 4096 Oct 22 15:06 autom4te.cache
drwxr-xr-x 2 david david 4096 Aug 17 15:13 build-aux
-rw-r--r-- 1 david david 3115 Aug 17 14:49 config.h
-rw-r--r-- 1 david david 2827 Oct 22 15:06 config.h.in
-rw-r--r-- 1 david david 37667 Oct 23 18:10 config.log
-rwxr-xr-x 1 david david 62181 Oct 22 15:06 config.status
-rwxr-xr-x 1 david david 468734 Oct 22 15:06 configure
-rw-r--r-- 1 david david 3966 Oct 29 07:56 configure.ac
-rw-r--r-- 1 david david 4539 Aug 15 15:06 COPYING
drwxr-xr-x 2 david david 4096 Oct 29 07:58 docs
drwxr-xr-x 4 david david 4096 Oct 23 18:31 external
drwxr-xr-x 8 david david 4096 Oct 29 07:57 .git
-rw-r--r-- 1 david david 243 Oct 23 18:10 .gitignore
drwxr-xr-x 2 david david 4096 Oct 23 20:23 .libs
-rw-r--r-- 1 david david 844 Oct 23 18:01 libshl.la
-rwxr-xr-x 1 david david 293012 Oct 22 15:06 libtool
-rw-r--r-- 1 david david 285912 Oct 23 18:13 libtsm-1.tar.xz
-rw-r--r-- 1 david david 909 Oct 23 20:23 libtsm.la
-rw-r--r-- 1 david david 26527 Oct 23 18:06 LICENSE_htable
drwxr-xr-x 2 david david 4096 Aug 17 14:49 m4
-rw-r--r-- 1 david david 60959 Oct 23 18:10 Makefile
-rw-r--r-- 1 david david 3405 Oct 23 18:10 Makefile.am
-rw-r--r-- 1 david david 63274 Oct 23 18:10 Makefile.in
-rw-r--r-- 1 david david 49 Aug 15 15:06 NEWS
-rw-r--r-- 1 david david 2051 Aug 15 15:06 README
drwxr-xr-x 4 david david 4096 Oct 24 11:16 src
-rw-r--r-- 1 david david 23 Oct 22 15:06 stamp-h1
drwxr-xr-x 3 david david 4096 Oct 23 18:11 test
-rwxr-xr-x 1 david david 596067 Oct 23 18:11 test_htable
-rw-r--r-- 1 david david 68 Oct 23 18:11 test_htable.log
-rw-r--r-- 1 david david 82 Oct 23 18:11 test_htable.trs
-rw-r--r-- 1 david david 200 Oct 23 18:11 test-suite.log
david@david-mb ~/dev/libtsm $
# libtsm - Terminal-emulator State Machine
TSM is a state machine for DEC VT100-VT520 compatible terminal emulators. It tries to support all common standards while keeping compatibility to existing emulators like xterm, gnome-terminal, konsole, ..
TSM itself does not provide any rendering nor window management. It is a simple plain state machine without any external dependencies. It can be used to implement terminal emulators, but also to implement other applications that need to interpret terminal escape sequences.
This library is very similar to libvte of the gnome project. However, libvte is highly bound to GTK+, which makes it unsuitable for non-graphics projects that need to parse escape sequences. Instead, TSM tries to restrict its API to terminal emulation only. Furthermore, TSM does not try to establish a new terminal emulation standard, but instead keeps compatibility as close to xterm as possible. This is why the TERM variable can be set to xterm-color256 with any TSM based terminal emulator.
Currently, libtsm is used by:
* [[wlterm|http://www.freedesktop.org/wiki/Software/kmscon/wlterm/]]: An example terminal-emulator for libtsm developers
* [[kmscon|http://www.freedesktop.org/wiki/Software/kmscon/]]: A DRM/KMS based system console
## Releases
* [[libtsm-3 released on Oct 29th 2013|http://lists.freedesktop.org/archives/kmscon-devel/2013-October/000044.html]]
## Git-Repository
* gitweb: [[cgit.freedesktop.org|http://cgit.freedesktop.org/~dvdhrm/libtsm]]
* git: [[git://people.freedesktop.org/~dvdhrm/libtsm|git://people.freedesktop.org/~dvdhrm/libtsm]]
## Downloads
Source tarballs are available at
## Development
Please submit patches to [kmscon-devel@lists.freedesktop.org](http://lists.freedesktop.org/mailman/listinfo/kmscon-devel) mailing list.
## Reporting Bugs
libtsm has a bugzilla component in the [freedesktop.org Bugzilla](https://bugs.freedesktop.org/enter_bug.cgi?product=kmscon)