Patch from Hidetoshi Tajima to fix building on Solaris systems, remove use
[vte.git] / README
1 * What is VTE?
2 - You could say that VTE is something of a research project of mine, based on
3   the simple question:  "if programs can use a termcap file (through either
4   libtermcap or curses or ncurses) to determine how to drive a terminal, why
5   can't a terminal emulator use a termcap file to determine how to behave?"
6
7 * What does VTE include?
8 - VTE includes a library (libvte) which implements such a terminal emulator
9   widget for GTK+ 2.0, and a sample application (vte) which wraps that widget
10   in a GTK window.  Because I'm more concerned with whether or not it works,
11   all settings are hard-coded to whatever I needed to test the last time I
12   touched it.  If you actually want to use the widget to get work done, you
13   should probably be using profterm.
14
15 * How does it work?
16 - The VTE library inserts terminal capability strings into a trie, and then
17   uses it to determine if data received from a pseudo-terminal is a control
18   sequence or just random data.  The sample program "interpret" illustrates
19   what the widget actually sees after it filters incoming data.
20
21 * What's missing?
22 - Accessibility isn't completed yet.
23 - Mouse hilite tracking isn't implemented yet.
24 - Most control sequences are recognized, but many aren't implemented.  There
25   are enough to run ls, vim, less, emacs and mutt, but more need to be
26   implemented (ff, fs, i1, i3, is, iP, LF, LO, MC, mh, ML, mm, mo, nw, pf,
27   pk, pl, pf, po, pO, ps, px, r1, r2, r3, RA, RF, rp, rs, RX, SA, SX, wi,
28   several more from the XTerm set).
29 - Currently doesn't handle children exiting quite right (if the child spawned
30   a background process which keeps its stdio open, we don't close because we
31   don't get an EOF).
32 - Small dingus bug -- if the string is at the end of the buffer, too much
33   is hilited.
34 - Sequence matching is greedy, so that C=AB matches C and not A and then B.
35 - Bold doesn't work right if the default foreground color isn't gray.  Need
36   to move to 20-color palette to fix this right.
37 - I'm not sure the widget implementation itself is correct.  There are many
38   changes in going from GTK+ 1.2 to 2.0, and examples of the proper way to do
39   things is currently scarce, so some of it's guesswork.
40 - An actual property interface needs to be retrofitted over the various options
41   which are currently hard-coded at startup-time.