Version 11 (modified by coconnor, 9 years ago)


"vty is a very simple terminal interface library."

Darcs repository:

Known Issues

  • The redisplay code does not correctly account for multi-byte characters.
  • Only ANSI terminals work as expected. (xterm, Other terminals, such as rxvt, are sent the incorrect control codes.
  • With GHC 6.10 performance can be 10x *slower* than under GHC 6.8. (According to timings performed using test/Bench.hs) So far it's not exactly known why.


The latest release is This release is compatible with GHC 6.8 and GHC 6.10. The API for the 3.1 series has changed from that provided by 3.0 to 3.0.4. For many applications the change should be transparent.


  • Uses extensible-exceptions for GHC 6.8.2 compatibility.

Release 3.1.8

  • The terminal state is restored on shutdown.
  • code style updates
  • The application using vty optionally construct a Vty instance that places a delay between atomic inputs. This is done by providing mkVtyEscDelay a delay in microseconds. The equation mkVty still exists and is equivalent to "mkVtyEscDelay 0".

Release 3.1.6

  • Fixed GHC warnings over use of deprecated -fffi option
  • Updated to depend on base >= 4 && < 5. Thanks to Andrea Vezzosi
  • Until VTY is updated to use Control.Exception.Extensible use 3.1.2 on GHC 6.8

Release 3.1.4

  • Updated to compile with GHC 6.10.1. Thanks Roman Cheplyaka

Release 3.1.2

  • Changed input handling to have (hopefully) better responsiveness and lower CPU usage.

Release 3.1.0

  • API change: Adds the field "refresh :: IO ()" which can be used to force a refresh of the terminal display.

Release 3.0.4

  • UTF-8 input support.
  • Cleanup and documentation
  • Uses Terminfo package

Release 3.0.2

  • Input reads is now done using non-blocking IO.
  • A input character of '\t' is now mapped to the KASCII '\t' [] event instead of KASCII 'I' [MCtrl] event. Fixes #3