mirror of
https://github.com/ilyakooo0/vty.git
synced 2024-12-01 14:36:27 +03:00
A high-level ncurses alternative written in Haskell
a1cae010bc
Ignore-this: d425b409f782677c52e6725d865529c8 darcs-hash:20091107085229-f0a0d-a4c5362807a12116c7bae3731402f85a647fd641.gz |
||
---|---|---|
cbits | ||
docs | ||
src | ||
test | ||
LICENSE | ||
README | ||
Setup.lhs | ||
TODO | ||
vty.cabal |
vty is a very simple terminal interface library. Vty currently provides: * Automatic handling of suspend/resume (SIGTSTP+SIGCONT). * Automatic handling of window resizes. * Supports Unicode characters on output, automatically setting and resetting UTF-8 mode (beware double width and combining characters!) * Automatic computation of minimal differences. * Minimizes repaint area, thus virtually eliminating the flicker problem that plagues ncurses programs. * A pure, compositional interface for efficiently constructing display images. * Automatically decodes keyboard keys into (key,[modifier]) tuples. * Automatically supports refresh on Ctrl-L. * Automatically supports timeout after 50ms for lone ESC (a barely noticable delay) * Interface is designed for relatively easy compatible extension. * Supports all ANSI SGR-modes (defined in console_codes(4)) with a simple type-safe interface. * Properly handles cleanup, leaving the cursor at the bottom of the screen and erasing the last line. Current disadvantages: * No current support for non-ANSI terminals. * UTF-8 support only works properly on the linux console/xterm, and even then only if it is not the system default. * Minimal support for special keys on terminals other than the linux-console. (F1-5 and arrow keys should work, but anything shifted isn't likely to.) * Uses the TIOCGWINSZ ioctl to find the current window size, which appears to be limited to Linux and *BSD. darcs get --tag=rel-3.0.0 http://code.haskell.org/vty/ To compile the demonstration program: ghc --make Test.hs gwinsz.c The main documentation consists of the haddock-comments and the demonstration program