summaryrefslogtreecommitdiff
path: root/README
blob: 16f7c9c6768320ac7e9ec1d320b59452085e2465 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
* What is VTE?
- You could say that VTE is something of a research project of mine, based on
  the simple question:  "if programs can use a termcap file (through either
  libtermcap or curses or ncurses) to determine how to drive a terminal, why
  can't a terminal emulator use a termcap file to determine how to behave?"

* What does VTE include?
- VTE includes a library (libvte) which implements such a terminal emulator
  widget for GTK+ 2.0, and a sample application (vte) which wraps that widget
  in a GTK window.  Because I'm more concerned with whether or not it works,
  all settings are hard-coded to whatever I needed to test the last time I
  touched it.  If you actually want to use the widget to get work done, you
  should probably be using profterm.

* How does it work?
- The VTE library inserts terminal capability strings into a trie, and then
  uses it to determine if data received from a pseudo-terminal is a control
  sequence or just random data.  The sample program "interpret" illustrates
  what the widget actually sees after it filters incoming data.

* What's missing?
- Accessibility isn't completed yet.
- Mouse hilite tracking isn't implemented yet.
- Most control sequences are recognized, but many aren't implemented.  There
  are enough to run ls, vim, less, emacs and mutt, but more need to be
  implemented (bt, ct, dm/ed, ff, fs, i1, i3, is, iP, LF, ll, LO, MC, mh, ML,
  mm, mo, mp, nw, pf, pk, pl, pf, po, pO, ps, px, r1, r2, r3, RA, RF, rp, rs,
  RX, SA, st, SX, uc, vb, wi, several more from the XTerm set).
- I'm not sure the widget implementation itself is correct.  There are many
  changes in going from GTK+ 1.2 to 2.0, and examples of the proper way to do
  things is currently scarce, so some of it's guesswork.
- An actual property interface needs to be retrofitted over the various options
  which are currently hard-coded at startup-time.