485e16536f123fe91f6bb0707c3cea2985c9514f
[vte.git] / ChangeLog
1 2002-09-24 nalin
2         * README, gnome-pty-helper/README:  Doc fixups (mention gnome-terminal
3         instead of profterm, note the proper permissions for gnome-pty-helper,
4         #84505).
5
6 2002-09-20 nalin
7         * src/ring.c: Fix a ring-buffer manipulation bug (Red Hat #74290) which
8         might cause a new item to be inserted in the wrong location.
9
10 2002-09-19 nalin
11         * src/interpret.c: Munge input data the way the terminal does so that
12         conversion failures don't wedge us.
13
14 2002-09-19 Brian Cameron <Brian.Cameron@sun.com>
15         * src/vte.c: Backed out scrolldelay patches from 09-17 and 09-18 at
16         Nalin's request.  Left in the patch which allows programs which 
17         update the screen non-linearly like lynx to work properly.
18
19 2002-09-18 Brian Cameron <Brian.Cameron@sun.com>
20         * src/vte.c: Corrected a problem with yesterday's patch.  I am now
21         properly calling g_source_remove on the scroll_delay timeout
22         function.  This prevents VTE from core dumping if you start up
23         more than one VTE gnome-terminal and exit from one of them.  Also
24         made the vte_scroll_timeout function a little cleaner by using
25         the VTE_IS_TERMINAL macro.
26
27 2002-09-17 Brian Cameron <Brian.Cameron@sun.com>
28         * src/vte.c: Fixed bug with my 09/11 speedup fix which caused programs
29         that update the screen non-linearly like lynx to update incorrectly.
30         Also included a speed improvement which delays the scroll-down for
31         70ms.  Too fast to be noticeable to the user, but it speeds up VTE
32         greatly.
33
34 2002-09-13 nalin
35         * src/pty.c: Fix typo which broke builds on systems where MSG_NOSIGNAL
36         is defined.
37
38 2002-09-12 Brian Cameron <Brian.Cameron@sun.com>
39         * configure.in : Added -lsocket to LIBS if socket is in libsocket,
40         so VTE will compile on Solaris.
41
42 2002-09-12  jacob berkman  <jacob@ximian.com>
43
44         * src/pty.c: only use MSG_NOSIGNAL if it's defined
45
46         * gnome-pty-helper/gnome-pty-helper.c (struct pty_info): remove
47         master_fd and slave_fd fields
48         (shutdown_pty): don't close master/slave fd's here...
49         (pty_add): don't take master/slave fd args
50         (open_ptys): ...close master/slave fd's right after passing them
51
52         this fixes a hang after closing a window on os x, not sure why...
53
54         * gnome-pty-helper/Makefile.am (install-exec-hook): remove
55         trailing / after $DESTDIR
56
57         * configure.in: AC_CHECK_FUNC() doesn't do AC_DEFINE(HAVE_FOO), so
58         do that for socket() and socketpair() if they are found
59
60 2002-09-12 nalin
61         * src/vte.c(vte_invalidate_cursor_once): Remove the invalidate_cells
62         parameter, because the function is a big no-op if FALSE, in which case
63         we should just not call it instead. (vte_terminal_process_incoming):
64         refresh the right number of rows after processing a block of data.
65
66 2002-09-12 Brian Cameron <Brian.Cameron@sun.com>
67         * src/vte.c Fixed minor error with my previous patch.  This just makes
68         a warning go away.
69   
70 2002-09-11 nalin
71         * src/pty.c: Reorder definitions to avoid implicit declaration warnings.
72         * configure.in: Check for socketpair().  Check for socket() in libc
73         before poking around in libsocket.
74         * gnome-pty-helper/configure.in: Check for openpty() in libutil as well,
75         and do so before we check for other functions.
76
77 2002-09-11 nalin
78         * configure.in, gnome-pty-helper/cofnigure.in: Test for sendmsg() with
79         AC_CHECK_FUNCS instead of AC_TRY_COMPILE.
80         * acconfig.h: Removed.
81         * src/pty.c: Formatting.
82
83 2002-09-11 Brian Cameron <Brian.Cameron@sun.com>
84         * configure.in: Added check for socket library and SendMsg
85         check. 
86         * acconfig.h: Added this file with a HAVE_SENDMSG definition.
87         * gnome-pty-helper/configure.in: Added checks needed for the
88         source code, including the SendMsg check.
89         * src/pty.c: Corrected _vte_pty_pipe_open so it works on
90         Solaris.
91         *src/vte.c: Made some speed improvements so vte_invalidate_cells
92         is not called for every character in the while loop in 
93         vte_process_incoming, but only once when the while loop is done.
94
95 2002-09-11 nalin
96         * gnome-pty-helper: Update from libzvt CVS.
97         * python/Makefile.am: Fix some automake breakage.
98
99 2002-09-11 nalin
100         * python/Makefile.am: Fix my broken merge of Jacob's patch to make
101         inability to build python modules non-fatal.
102
103 2002-09-11 nalin
104         * src/vte.c: Skip lookups for padding information if we're pretty sure
105         we're using a monospaced font.
106
107 2002-09-10 nalin
108         * src/vte.c: Fix from Brian Cameron for uninitialized GError in
109         vte_wc_from_unichar().
110         * src/interpret.c, src/iso2022.c, src/pty.c, src/ring.h, src/table.c,
111         src/table.h, src/trie.c, src/vte.c, src/vteaccess.c: Signed/unsigned
112         int/size_t/gsize and pointer typecast warning fixes from Brian Cameron.
113         * src/vte.c: Avoid invalidating the cursor in the cursor blink
114         timeout unless we have focus.
115
116 2002-09-10  Jacob Berkman  <jacob@ximian.com>
117         * configure.in (ALL_LINGUAS: remove es until the file really gets
118         added.  also it wasn't added alphabetically
119
120 2002-09-10 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
121
122         * configure.in: Added "es" to ALL_LINGUAS
123
124 2002-09-10 nalin
125         * src/pty.c, src/pty.h: Add vte_pty_close() and
126         vte_pty_open_with_logging(), breaking the ABI.
127         * src/vte.c, src/vte.h: Add vte_terminal_fork_logged_command(), breaking
128         the ABI.
129         * gnome-pty-helper/*: Swallow the pty helper bits of gnome-libs,
130         but install into $pkglibdir instead of $sbindir so that existing
131         packages don't suddenly start breaking.
132         * src/termcap.c(_vte_termcap_find_string_length): Fix signature to
133         match the declaration in termcap.h.  From patch by Jacob Berkman.
134
135 2002-09-06 nalin
136         * configure.in: Add $X_PRE_LIBS to the front of $X_LIBS, -lX11 and
137         $X_EXTRA_LIBS to the end of $X_LIBS.  Remove some cruftiness and set
138         CPPFLAGS when checking for Xft.  Check for the existence of wchar.h,
139         because it might not exist.  Use an automake conditional to make
140         compilation of the Python bindings non-critical.  From patch by
141         Jacob Berkman.
142         * src/pty.c: Silence compiler warning when exec() fails.  From patch
143         by Jacob Berkman.
144         * src/interpret.c, src/vte.c: Stop including langinfo.h since we don't
145         call nl_langinfo() any more.  Adapted from patch by Jacob Berkman.
146         * src/caps.c: Fill in a couple of missing initializers.
147         * src/vte.c, src/vte.h: Add accessor functions for use in language
148         bindings.
149         * python/vte.defs: Add defs for the new accessor functions.
150         * python/vte-demo.py: Add a scrollbar to the sample window, handle
151         more of the options the C version handles.  Stop expecting additional
152         arguments with a signal that doesn't include any.
153         * python/Makefile.am: We only have one target, so don't bother with
154         target-specific primaries if we can avoid it (#92252).
155         * vte.pc.in: Note build dependencies on ATK, Pango, and PangoX.
156
157 2002-09-05 nalin
158         * src/caps.c, src/caps.h, src/debug.c, src/debug.h, src/interpret.c,
159         src/iso2022.c, src/iso2022.h, src/pty.c, src/reaper.c, src/ring.c,
160         src/ring.h, src/table.c, src/table.h, src/termcap.c, src/termcap.h,
161         src/trie.c, src/trie.h, src/utf8echo.c, src/vte.c, src/vteaccess.c,
162         src/vteapp.c: prefix library-internal interfaces with underscores so
163         that gtk-doc doesn't guess they're public.
164         * src/vte.c: return FALSE from focus-in/focus-out/expose handlers.
165
166 2002-09-05 nalin
167         * src/caps.h, src/debug.h, src/iso2022.h, src/marshal.h, src/ring.h,
168         src/table.h, src/termcap.h, src/trie.h: add giant warnings about how
169         these headers define library-internal interfaces.
170         * vte.spec: 0.8.18
171
172 2002-09-05 nalin
173         * docs/reference: first pass at writing documentation
174         * src/termcap.c: fix how'd-that-ever-work in vte_termcap_strip(), patch
175         from Brian Cameron.  Take \\e as an alias for \\E, which is already
176         an alias for Escape.
177         * src/vte.c(vte_terminal_get_cursor): Return an absolute cursor position
178         instead of a relative position.
179
180 2002-09-04  jacob berkman  <jacob@ximian.com>
181
182         * src/vte.c (vte_default_substitute): only compile the FC_HINT_STYLE
183         part if FC_HINT_STYLE is defined
184
185 2002-09-04 nalin
186         * src/vte.c: Add missing <fontconfig/fontconfig.h> include for Xft2,
187         spotted by Jacob Berkman.
188
189 2002-09-04 Brian Cameron <Brian.Cameron@sun.com>
190         * src/vte.c: Avoid double color deallocations with Xft.
191         * configure.in: Added stropts.h check for Solaris.
192         * src/vte.c: Do not send data to the slave if the length is zero.
193         Some shells on Solaris do not handle this well.
194         * src/pty.c: Added ptem/ldterm/ttcompat ioctls so VTE will work
195         on Solaris.
196
197 2002-09-03 nalin
198         * src/vte.c: Avoid double color deallocations with Xft.
199
200 2002-09-03 nalin
201         * src/vte.c: Handle color allocation failures with Xft better.
202         * src/vte.h: Clean up typedef declarations.
203
204 2002-09-03 nalin
205         * src/marshal.list, src/reaper.c, src/reaper.h, src/vte.c: Modify the
206         child-exited signal to pass a signed int and an unmodified exit status,
207         allowing the callback to check for normal/abnormal exit status.
208
209 2002-09-02 nalin
210         * src/vte.c: Don't send zero-length strings to the child -- it may not
211         be able to cope properly.  Spotted by Brian Cameron.
212
213 2002-08-30 nalin
214         * src/vte.c: Handle cursor exposes correctly for multicolumn characters,
215         no matter which cell the cursor is in.  Fix autoscrolling boundary
216         checks for when allocation.y != 0.
217
218 2002-08-30 nalin
219         * src/vte.c(vte_terminal_insert_char): Wrap correctly to avoid screwing
220         up multicolumn characters.
221
222 2002-08-30 nalin
223         * src/vte.c: Get smarter about when it's necessary to start messing
224         with our adjustments (Red Hat #73091).  Change the way we clear the
225         screen so that all of the contents of the current screen become
226         scrollback data.
227
228 2002-08-30 nalin
229         * src/vte.c: Register VteTerminalEraseBinding with GObject as an
230         enumerated type.
231         * python/vte.defs: Update.
232         * python/vte.overrides: Ignore vte_terminal_get_text_range().
233
234 2002-08-30 nalin
235         * src/vte.c: Restore the focus-in/focus-out handlers -- the defaults
236         don't quite DTRT for us because they miss our im_context (#72946).  When
237         setting the cursor location for the input method, make the Y coordinate
238         relative to the window, not the scrollback buffer.  When resizing the
239         scrollback buffer, clamp the cursor to the set of possible locations,
240         not the visible locations.
241
242 2002-08-30 nalin
243         * src/vte.c: Initialize the pty master fd to -1 to avoid spurious
244         window resizes on fd 0.
245         * src/debug.c, src/debug.h: Add a "pty" debug message class.
246
247 2002-08-30 nalin
248         * src/iso2022.c: Fix a how'd-that-ever-work bug (not returning anything
249         from vte_iso2022_new()), spotted by Brian Cameron.
250         * configure.in: Use -Wall when building with gcc in maintainer mode.
251         * src/interpret.c, src/ring.h, src/table.c, src/trie.c, src/vte.c,
252         src/vteaccess.c: Warning cleanups.
253
254 2002-08-29 nalin
255         * src/vte.c: Clean up bookkeeping for mouse autoscrolling and adjustment
256         change notifications.  Reset the scrolling and insertion deltas when
257         clearing the history.
258         * src/interpret.c: Don't dump data on incomplete conversion errors,
259         which we're going to retry anyway.
260         * src/iso2022.txt: Add iso-2022-kr examples (no workee -- uses GR).
261
262 2002-08-28 nalin
263         * src/vte.c, src/vte.h: Add vte_terminal_copy_primary and
264         vte_terminal_paste_primary(), because I really want to let
265         profterm decide default values for key bindings.
266
267 2002-08-28  Gustavo Noronha Silva  <kov@debian.org>
268         * configure.in (ALL_LINGUAS): added pt_BR
269
270 2002-08-27 nalin
271         * src/vte.c: Stop autoscrolling on button release.
272
273 2002-08-27 nalin
274         * src/vte.c: When autoscrolling, clamp the new boundary to what the user
275         can see.
276
277 2002-08-27 nalin
278         * src/vte.c: Implement autoscroll (Red Hat #70481).
279
280 2002-08-27 nalin
281         * src/vte.c: Only perform cr-lf substitutions when pasting text, not
282         when inputting from a live user (Red Hat #72639).  Bind GDK_ISO_Left_Tab
283         to kB.  Formatting changes.
284         * termcaps/xterm: Bind kB to back-tab (Red Hat #70340).
285
286 2002-08-27 nalin
287         * src/vte.c: Don't tamper with the scrolling offsets -- they're updated
288         when we handle adjustment_changed notifications.  Scroll instead of just
289         moving the cursor down when soft-wrapping to the next line.  Avoid
290         emitting adjustment_changed when only the value has changed, likewise
291         for the value and the other fields of the adjustment.
292
293 2002-08-27 nalin
294         * src/vte.c: Keep cursor position and scrolling offsets from going
295         wonky when you resize, especially on the alternate screen.  Suppress
296         duplicate adjustment_changed notifications.
297         * src/vteapp.c: Set the MIN_SIZE geometry hints so that we can resize
298         to unreasonably-small dimensions.
299         * src/ring.c, src/ring.h: Add vte_ring_new_with_delta().
300
301 2002-08-26 nalin
302         * src/vte.c: Add padding spaces after full lines as well -- spotted by
303         both notting and pjones.
304
305 2002-08-26 nalin
306         * src/vte.c: Don't deadlock when substitution fails, spotted by msw.
307
308 2002-08-26 nalin
309         * src/vte.c: If GDK_USE_XFT is set, check the value of GDK_USE_XFT, not
310         VTE_USE_XFT.  Spotted by hp.
311
312 2002-08-25 nalin
313         * src/vte.c: Heed the reverse-video setting when painting character
314         cells again.  Make selection and matching coordinates global, fixing
315         the selecting-while-scrolling case.  Prevent overdraws into the padding
316         area on the right.
317
318 2002-08-25 nalin
319         * src/vte.c: Make nd() move right but not wrap -- according to Strang
320         it's undefined, but xterm doesn't wrap it.  Separate do/DO from sf/SF
321         and up/UP from sr/SR, because the scrolling behavior is supposed to be
322         different.  Add support for decset/decreset 7 (wraparound mode) and
323         1051 (Sun keyboard).  Add support for DECALN.  Remove some type checks
324         from run-time which the compiler can catch with certainty.
325
326 2002-08-25  Kjartan Maraas  <kmaraas@gnome.org>
327         * configure.in: Added Norwegian (no) to ALL_LINGUAS.
328         
329 2002-08-25  Pablo Saratxaga <pablo@mandrakesoft.com>
330         * configure.in: Added Vietnamese (vi) to ALL_LINGUAS
331
332 2002-08-22 nalin
333         * src/caps.c: Bind ENQ to "return-terminal-status".
334         * src/iso2022.c: Fix an off-by-one which incorrectly triggered an
335         assertion.
336         * src/vte.c: Implement send-primary/secondary-device-attributes.  Bind
337         shift+insert to "paste PRIMARY".  Guard against NULL window/icon title
338         when telling the child app what they are.  Prevent DO(), up(), and UP()
339         from scrolling.
340
341 2002-08-22 nalin
342         * src/vteapp.c: Set geometry hints using the initial font setup.
343 2002-08-22 nalin
344         * src/vte.c, src/vte.h: Make use of the visible bell a separate option
345         from use of the audible bell, allowing both/neither to be used.  Open
346         fonts right away again -- profterm reads the metrics right after calling
347         set_font(), so we have to open fonts ASAP.  Rework the Xft/Pango/Xlib
348         decision code to be more consistent.  Watch for style changes and reset
349         our font to the new style's font when we're already using the old
350         style's font.
351 2002-08-21 nalin
352         * src/iso2022.c(vte_iso2022_substitute): Take a vte_table as an
353         additional argument, and don't mess with text that's part of a control
354         sequence, even if it's in shifted-out text.
355         * src/table.c(vte_table_match): Speed up for the no-arguments-requested
356         case, which just became much more common.
357 2002-08-21 nalin
358         * src/vte.c(vte_terminal_draw_rows): Cap the maximum number of
359         characters we draw in a single call to vte_terminal_draw_cells at a
360         reasonable number.
361 2002-08-21 nalin
362         * src/table.c: Don't overwrite the original pattern pointers before
363         freeing the old value.
364         * src/vte.c: Use the same pango context whenever possible, to save on
365         PangoX startup time.
366 2002-08-20 nalin
367         * src/vte.c: Unref the output channel one more time when we're done
368         sending data to the child.  Free the background data GDK property when
369         we're finished with it.  Don't retrieve the pango context when drawing
370         unless Xft has already been disabled.  Don't try to use the pango layout
371         to draw unless it's valid.  Don't try to use the XftDraw item to draw
372         unless it's valid.
373 2002-08-20 nalin
374         * src/vte.c: Dispose of the updated substitution context properly when
375         processing blocks of input text.  Spotted by Arjan van de Ven.
376 2002-08-20 nalin
377         * src/ring.c: Debug when rows get freed.
378         * src/vte.c: Maybe-release pango contexts after unreffing layouts which
379         refer to them.  Decide on how we want to draw fonts before deciding
380         which fonts to draw, to avoid spurious font loading.  Remove output tags
381         when the output tag's callback is about to return FALSE.
382 2002-08-20 nalin
383         * src/vte.c: Don't leak the hintstyle and rgba settings.  Patch from
384         Arjan van de Ven.  Free PangoX contexts when we're done with them,
385         spotted by Arjan van de Ven.
386 2002-08-19 nalin
387         * src/vte.c: Load fonts just-in-time to avoid spurious reloads.  Don't
388         override the focus_in and focus_out event handlers -- the defaults DTRT.
389         * src/debug.c, src/debug.h: Add a RING debug class.
390 2002-08-19 nalin
391         * src/iso2022.c: Handle override maps which don't affect the font
392         palette correctly, resetting at newlines and escape marks.  Process
393         bogon data correctly.
394         * src/iso2022.txt: Add some sample text.
395 2002-08-19 nalin
396         * src/vte.c: Fixup some fontconfig/Xft mixups.  Set the hint style
397         instead of hinting when reading the GTK hint style setting (spotted
398         by katzj and otaylor).
399 2002-08-19 nalin
400         * src/vte.h, src/vte.c: Use gssize instead of ssize_t.  Perform
401         substitutions while processing.  Use PangoX contexts when we're using
402         the PangoX fontmap and when doing PangoX rendering.
403 2002-08-19 nalin
404         * src/mkunitables.sh,src/unitable.*: Add.
405         * src/iso2022.c, src/iso2022.h: Use unitables.
406         * src/caps.c: Remove sequences for designating character sets.  Switch
407         to using a second passed-in buffer for storing results in case the
408         caller doesn't want substitutions done in-place.
409         * src/debug.c, src/debug.h: Add a substitution debug flag.
410         * src/interpret.c: Perform substitution.
411         * src/table.c, src/table.h: Use gssize instead of ssize_t.
412         * src/termcap.c, src/termcap.h: Use gssize instead of ssize_t.
413         * src/utf8echo.c: Use strtol, allowing users to specify code points in
414         hex format.
415 2002-08-14 nalin
416         * src/vte.c(vte_terminal_configure_toplevel): repaint the entire window
417         to ensure that any overdraw area we're not paying attention to at least
418         gets cleared to the background.
419         * src/vte.c(vte_terminal_locale_encoding): don't try to second-guess
420         the local encoding, just use the current charset as returned by
421         g_get_charset().
422 2002-08-14 nalin
423         * src/vte.c(vte_terminal_reset): drop pending incoming data on reset.
424         * src/vte.c: give reprocessing of pending input data a higher priority
425         than reading it from the child to prevent backlogs on corrupt or invalid
426         multibyte data from building up and whacking us exponentially.
427 2002-08-13 nalin
428         * src/vte.c(vte_sequence_handler_delete_lines): initialize lines added
429         to the current default colors.  Spotted by jrb.
430         * src/vte.c(vte_terminal_set_font): don't try to pick up GTK Xft
431         settings unless we're using FontConfig.  Patch from otaylor.
432 2002-08-11 nalin
433         * src/vte.c: reorder set/reset processing for decset so that 1049
434         properly represents the combination of 1047 and 1048 (#90027).
435 2002-08-11 nalin
436         * src/caps.c: properly escape a sequence which had a bare '%' in it.
437 2002-08-11 nalin
438         * src/vte.c: change Xft-related defaults match whichever version of GTK
439         we were built with (hopefully).
440 2002-08-11 nalin
441         * src/vte.c: don't bother with cursor blinking or freezing/thawing
442         updates when the widget isn't realized.  Patch from Gustavo Giráldez.
443 2002-08-08 nalin
444         * src/vte.c: take extra steps to make sure that the cursor doesn't go
445         back into negative scrollback space.
446 2002-08-08 nalin
447         * src/vte.c(vte_terminal_invalidate_all): rewrite.
448 2002-08-08 nalin
449         * src/vte.c(vte_terminal_paint,vte_terminal_draw_cells): fill in the
450         background color when drawing the cursor, even if it's going to end up
451         as the default background color, spotted by Peter Jones.  Draw the
452         cursor correctly if it's over a graphic character.
453 2002-08-07 nalin
454         * src/vte.c(vte_terminal_draw_cells): once again, avoid drawing NULs.
455         * src/vte.c: add a small pad to each edge (#89048).
456         * src/vteapp.c: handle widget padding.
457 2002-08-07 nalin
458         * src/interpret.c: look for $pkgdatadir/termcap/$TERM first, as the
459         widget does, before consulting /etc/termcap.
460         * src/ring.c(vte_ring_free): check for a non-NULL removal function
461         before calling it.
462         * src/vte.c(vte_terminal_key_press): add an option for doing
463         VT220-style or Sun/PC-style modified function keys.  Default to VT220
464         for now, though, pending feedback.
465         * src/vte.c(vte_terminal_reset): scroll to the bottom when resetting.
466 2002-08-07 nalin
467         * src/vte.c(vte_terminal_draw_cells): don't trust XftDrawString32() to
468         advance linearly for monospaced fonts (#90164).
469
470 2002-08-07 nalin
471         * src/vte.c(vte_terminal_reset): reset the default setting as well
472         (#89506).
473
474 2002-08-07 nalin
475         * src/vte.c(vte_terminal_draw_cells): perform Xft remapping for Xft1,
476         switch back to PangoX.
477 2002-08-06 nalin
478         * src/vte.c(vte_terminal_set_encoding,
479         vte_sequence_handler_local_charset): use g_get_charset() instead of
480         nl_langinfo() to determine the default codeset, and to check if it's
481         UTF-8.  Patch from Hidetoshi Tajima.
482         * src/vte.c(vte_terminal_set_encoding): don't leak conversion
483         descriptors when changing the encoding fails.  Patch from Hidetoshi
484         Tajima.
485         * src/vte.c(vte_terminal_send): don't read past the converted string
486         when performing paste substitutions.
487         * src/vte.c: rework the straight-Pango rendering routines to call
488         normal Pango instead of PangoX.
489         * src/vte.c(vte_terminal_ensure_cursor): speed up the "add many cells"
490         case a bit.
491 2002-08-05 nalin
492         * src/vte.c(vte_cell_is_between): sort the two endpoints correctly and
493         provide a boolean to control whether or not the endpoint is "in".
494         * src/vte.c(vte_cell_draw_rows): check if a cell is selected using
495         the right indicator.
496         * src/vte.c(vte_terminal_get_text): when adding a newline to the end
497         of a returned line, don't show it as being in the rightmost column.
498         * src/vte.c(xlfd_from_pango_font_description): turn the DPI, pixel size,
499         and added info into wildcards.
500         * src/vte.c(vte_terminal_draw_cells): go back to drawing individual
501         cells when using Xlib.
502         * src/vte.c: Compute right-side padding as well as left.
503         * src/vte.c(vte_terminal_init): disable use of PangoX by default.
504         * src/vteapp.c: add -D to add the same patterns profterm does to test
505         dingus hiliting.
506
507 2002-08-03  Havoc Pennington  <hp@redhat.com>
508
509         * src/vte.c (vte_terminal_setup_background): add a gdk_flush()
510         before the error trap pop, just for paranoia, may help with 
511         #89049
512
513 2002-08-02 nalin
514         * src/vte.c(vte_terminal_send): Substitute carriage returns for
515         newlines when pasting text to the child, fixing weird paste behavior
516         in pico and friends.
517
518 2002-08-02  Christophe Merlet  <christophe@merlet.net>
519
520         * configure.in: Added fr to ALL_LINGUAS.
521
522 2002-08-01  nalin
523         * src/pty.c, src/pty.h: Expose vte_pty_set_size() and get_size() to
524         localize terminal ioctl usage.
525         * src/ring.c(vte_ring_validate): Don't repeatedly compute the same
526         value when we know it won't change.
527         * src/vte.c(vte_wc_from_unichar): Implement for the non-STDC_ISO_10646
528         case, heavily based on patch from Hidetoshi Tajima.
529         * src/vte.c(vte_terminal_ensure_cursor): Don't initialize the local
530         data unless we have to.
531         * src/vte.c(vte_terminal_process_incoming): Don't insert NUL characters
532         into the display, matching behavior of xterm.
533         * src/vte.c: Clean up use of various G_PRIORITY values throughout to
534         allow for simpler tuning.  Rewrite rendering code to use per-paint
535         PangoLayouts when they're needed, use Xft2's DrawCharSpec function when
536         available, and to cut down on X requests.  Don't paint on expose events
537         if the window isn't realized, drawable, and at least partially visible.
538         Don't deselect previous selection when the user clicks unless there's
539         also a drag first.
540 2002-07-31  nalin
541         * src/pty.c: Include <termios.h> if available, per patch from Hidetoshi
542         Tajima.
543         * src/trie.c: Include missing <wchar.h>, spotted by Hidetoshi Tajima.
544         * src/vte.c: Initialize new lines created in insert_lines() to the
545         current default attributes like al() does.
546 2002-07-30  nalin
547         * configure.in: Check for wint_t and attempt to allow compiles even
548         when wint_t isn't defined (this type is used only debug code, so it
549         shouldn't break anything).
550         * src/caps.c: Remove "te" and "ti", which are logical, in the same way
551         "so" is, from the known capabilities lists.  Add a "is a key" field to
552         the termcap list so that we don't match against keystrokes in case
553         they're also control sequences.
554         * src/interpret.c: Use tables instead of tries.  Don't add key sequences
555         to the table.
556         * src/pty.c: Fix incorrect invocation in sample.
557         * src/reaper.c: Include stdlib.h to quiet compiler warning.
558         * src/trie.c, src/trie.h: Remove the unused precomputing routines.
559         * src/utf8echo.c: Switch to link with tables instead of tries.
560         * src/vte.c: Switch to using tables instead of tries.  Map
561         cursor-backward to LE instead of le, which handles parameters right.
562         Don't add key sequences to the parsing table.  Tune updates so that
563         they occur less often when we're processing large amounts of data from
564         the child.  Add a 'status-line-changed' signal.  Implement fs() and
565         fix ts().  Add ::get_status_line() to get the contents of the status
566         line.  Obey it() when setting default tabstops.  Implement
567         cursor_next_line(), cursor_lower_left(), cursor_preceding_line(),
568         cursor_horizontal_and_vertical_position(), erase_characters(), and
569         insert_blank_characters().  Implement nw().
570
571 2002-07-26  nalin
572         * src/vte.c: Initialize new lines added for al().  Spotted by jrb.
573
574 2002-07-25  Ole Laursen  <olau@hardworking.dk>
575
576         * configure.in: Added Danish translation.
577
578 2002-07-25  nalin
579         * README: Note that bold isn't broken any more.
580         * termcaps/xterm: Note that k; was added.
581         * src/pty.c: Set the proper number of columns in the window size.
582         * src/ring.h: Change macro argument names to hopefully not step on
583         application code.
584         * src/vte.c: Set the terminal size to the default size as specified in
585         termcap at init-time.
586 2002-07-24  nalin
587         * src/pty.c: Add private vte_pty_set_size() function.
588         * src/pty.c, src/pty.h: vte_pty_open() takes size arguments now.
589         * src/vte.c: Open the PTY with the proper initial size.
590 2002-07-23  nalin
591         * src/ring.c, ring.h: Expose the ring implementation and convert several
592         simple functions into macros.
593         * src/vteapp.c: Pass all long options on to gtk_init().
594 2002-07-23  nalin
595         * src/vte.c: Fix realize/unrealize to be properly reversible.  Use the
596         font from the default style unless we're explicitly given one.
597         * src/vteapp.c: Don't set base size or minimum size geometry hints when
598         sizing the terminal widget.
599 2002-07-22  nalin
600         * src/pty.c(vte_pty_ptsname): Fix an incorrect logic check.
601 2002-07-19  nalin
602         * src/vte.c(vte_terminal_set_color_internal): If we're changing the
603         background color, apply it to the widget's window as well, from msw.
604 2002-07-19  nalin
605         * src/vte.c: Undo the scrolling changes -- there too many combinations
606         of circumstances that cause them to not work right.
607 2002-07-18  nalin
608         * src/vte.c: Fudge the repaint line count by one when scrolling regions
609         to ensure that the old cursor gets repainted.  Calculate the area which
610         needs to be repainted when reverse-scrolling correctly.
611 2002-07-18  nalin
612         * src/vte.c: Implement enough of set-mode and reset-mode to allow
613         toggling of insert mode using this sequence.  Move all scrolling into
614         vte_terminal_scroll_region and use gdk_draw_drawable to avoid repainting
615         from scratch whenever possible.
616 2002-07-17  nalin
617         * configure.in: Actually set ALL_LINGUAS so translations get installed.
618         * README: Document the weirdness that is cursor movement around wide
619         characters.
620         * src/vte.defs: Bind set_color_bold().
621         * src/debug.c: Suppress warnings when $VTE_DEBUG_FLAGS isn't set.
622         * src/pty.c, src/reaper.c, src/termcap.c, src/trie.c: Provide for
623         debug messages in the test program.
624         * src/interpret.c, src/trie.c: Use libc stdio instead of g_print for
625         printing what might be part of a multibyte sequence because g_print
626         checks for validity.
627         * src/interpret.c, src/trie.c, src/utf8echo.c, src/vte.c: Use gunichar
628         instead of wchar_t in places where a gunichar is expected.  Provide a
629         means for converting from wchar_t to gunichar for the sake of X11 calls
630         which want a wchar_t.
631         * src/trie.c: Provide vte_trie_wide_encoding() for finding a giconv
632         target which is hopefully compatible with gunichar.  Likewise provide
633         vte_trie_narrow_encoding() to find one compatible with iso-8859-1.
634         * src/vte.c: Fall back to ISO-8859-1 if we can't set things up for the
635         current locale encoding at startup time.  Fall back to the current
636         encoding if we can't perform a given dynamic switch.
637 2002-07-16  nalin
638         * configure.in: Set GETTEXT_PACKAGE correctly, noted by menthos.
639
640 2002-07-16  nalin
641         * src/vte.c (vte_terminal_set_colors): Guess at an appropriate bold
642         version of the foreground color instead of hard-coding in a default.
643         * src/vte.c, src/vte.h (vte_terminal_set_color_bold): Add.
644
645 2002-07-16  nalin
646         * src/trie.c: Correctly check for g_iconv_open() failure.
647         * src/vte.c (vte_terminal_set_encoding): Try to give a meaningful
648         error when g_iconv_open() fails, even though we're screwed.
649
650 2002-07-15  nalin
651         * src/vte.c: wrap the new Xft/fontconfig-specific code in HAVE_XFT
652         * src/vte.c: Revert some changes in how new cells were initialized,
653         removing various cosmetic problems.
654         * src/vte.c (vte_terminal_process_incoming): Discard the proper number
655         of characters when we don't recognize a sequence, previously we left
656         one byte that should have been removed.
657
658 2002-07-14  Havoc Pennington  <hp@pobox.com>
659         * src/vte.c (vte_terminal_get_cursor_position): decrement spaces
660         as we go through the loop, it was nice and infinite.
661
662 2002-07-13 nalin
663         * src/vte.c (vte_terminal_get_text): Add the proper number of attribute
664         structs to the attribute array to fix crashes which occurred when the
665         buffer contains non-ASCII text (Red Hat #67930).
666 2002-07-12 nalin
667         * src/vte.c: Small optimization in the al() and dl() handlers.  al()
668         doesn't move the cursor, per GNU termcap docs.  Check for a pixbuf in
669         the bgfx check instead of pixmap, which was the wrong type.
670 2002-07-12 nalin
671         * src/vte.c: Add patch to heed Xft/fontconfig settings as kept by GTK.
672         Based on patch from otaylor.
673 2002-07-12 nalin
674         * src/slowcat.c: Added.
675         * src/vteapp.c: Add -a/-b flags to control audible bell and blinking
676         cursors.  Only send "pwd" as an initial command if there wasn't a
677         command specified on the command line.  Add a simple help message.
678         * src/vte.c: Bind F13-F35 per termcap.  Treat GDK_KP_Delete as
679         GDK_Delete.  Map Ctrl+F1-F12 to F13-F24.  Fix dc() to ensure that the
680         rows stays full and that newly-added cells get the default attributes.
681         Fix cl() to clear all rows on the screen with the default attributes
682         (bce).  Default to using Xft if available for consistency with GTK.
683 2002-07-11 nalin
684         * src/vte.c: Treat super, hyper, meta, and alt as modifiers when
685         deciding to scroll-on-keypress.  Noted by jrb.
686         * src/vte.c: Always map \r and \n to cr and so, even when they're
687         defined by the termcap.
688         * src/vte.c, src/vte.h: Rework how default colors are set up, and add
689         vte_terminal_set_color_foreground and vte_terminal_set_color_background.
690         * src/vte.h: Remove includes for local headers which apps are not
691         likely to never use, cleaning up the namespace a little.
692         * python/vte.defs: Bind vte_terminal_set_color_{fore,back}ground.
693         * src/debug.h, src/ring.h: Use G_BEGIN_DECLS/G_END_DECLS.
694         * src/reaper.h: Use G_BEGIN_DECLS/G_END_DECLS in the right place.
695         * src/vteapp.c: Add -B/-T flags to set background images and
696         transparency.
697 2002-07-02 nalin
698         * src/vte.c: Make shift+button1 extend selection.
699 2002-07-01 nalin
700         * src/vte.c (vte_terminal_draw_char): Draw unicode line-drawing code
701         points natively as we do for the GR1 support, in case the current font
702         doesn't include glyphs for them.
703         * src/vte.c: Test for g_iconv_open() failure properly (compare result
704         to ((GIConv)-1), not NULL).
705         * src/vte.c: Rework recovery from illegal sequence errors in the input
706         stream to be much more aggressive about it.
707 2002-06-25 nalin
708         * src/vte.c: Bind F10 to "k;", not "k0".
709         * termcaps/xterm: Add "k;" defined as F10.
710 2002-06-25 nalin
711         * src/vte.c (vte_terminal_reset_rowdata): Check for redundant resizes.
712         * src/vte.c (vte_terminal_set_scrollback_lines): Keep the alternate
713         screen buffer size the same as the window height, because xterm's
714         alternate screen doesn't backscroll.
715         * src/vte.c (vte_terminal_get_text): Don't append spaces to multicolumn
716         characters when reading the screen's contents.
717         * src/vte.c: Don't overexpose neighboring cells any more.  Cleanups.
718         * src/ring.h, src/ring.c: Add vte_ring_max() to read a ring's maximum
719         size.
720 2002-06-24 nalin
721         * src/vte.c (vte_sequence_handler_decset_internal): Treat option 1049
722         as a combination of 1047 and 1048.
723         * src/vte.c (vte_terminal_finalize): When finalizing while holding the
724         selection, throw the selection onto the clipboard without an owner so
725         that it doesn't just disappear.
726 2002-06-19 nalin
727         * src/vte.c (vte_sequence_handler_set_title_int): Fix a logic bug
728         that got rid of the title always, not just when conversion failed.
729 2002-06-19 nalin
730         * src/vte.c: Clear the alternate screen when switching to it.
731 2002-06-18 nalin
732         * src/vte.c: Fix refs/derefs with IOChannels and sources.  Clean up
733         I/O GIConv descriptors at finalize-time.
734 2002-06-18 nalin
735         * src/vte.c: Make cursor_visible a widget-wide (not per-screen) setting.
736 2002-06-18 nalin
737         * autogen.sh: Correct automake version check to require 1.5, heads
738         up from Glynn Foster.
739 2002-06-18 nalin
740         * src/trie.c (vte_trie_match, vte_trie_match_x): Sort out greedy vs.
741         non-greedy pattern matching.
742         * src/vte.c (vte_sequence_handler_decset_internal): Make 1047 an alias
743         for 47 (use alternate buffer), and handle cursor save/restore properly.
744 2002-06-14 nalin
745         * src/vte.c, src/vte.h (vte_terminal_fork_command): Add a parameter for
746         passing in environment variables to add.
747         * src/termcap.c: Preprocess out unused comment() and generate() funcs.
748         * src/Makefile.am: Bump library version number.
749         * vte.spec: 0.4.0
750 2002-06-14 nalin
751         * configure.in, python/Makefile.am: Handle cases where pygtk isn't
752         installed in the prefix we're configuring for.
753         * src/Makefile.am: Link libvte to its library dependencies.
754 2002-06-13 nalin
755         * src/vteaccess.c: Stop watching for hierarchy-changed signals -- the
756         accessible container which is our parent handles it already (from msw).
757 2002-06-13 nalin
758         * src/vteaccess.c: Re-read cursor position immediately on "cursor-moved"
759         events, and emit the "text-caret-moved" signal then as well.  Don't
760         override the signal handlers for signals we emit, bad things can
761         happen (from msw).
762 2002-06-12 nalin
763         * src/vte.c: Re-read the termcap when we change emulation, because
764         the location of the file may have changed.
765         * src/reaper.c: Also tell the parent the child died when the child
766         dies due to an uncaught signal.
767         * python/vte.override (_wrap_vte_terminal_fork_command): Handle default
768         value for the command.
769 2002-06-12 msw
770         * python/vte.override (_wrap_vte_terminal_fork_command): implement
771 2002-06-12 msw
772         * acinclude.m4: added AM_CHECK_PYTHON_HEADERS from pygtk
773         * configure.in: rewrote python checks to be more robust
774         * python/Makefile.am (CFLAGS): include @PYTHON_INCLUDES@
775 2002-06-12 msw
776         * src/vte.c (vte_terminal_get_accessible): turn the logic around
777         to be the right way
778 2002-06-12 nalin
779         * src/vte.c: Cache the result of vte_terminal_get_accessible() and
780         unref it at finalize-time.  Add debug messages to log signals emitted
781         by the widget.  Implement vte_terminal_get_encoding and
782         vte_terminal_get_emulation, emit signals when these change.
783         * src/vteaccess.c: Emit a "text_caret_moved" signal when the cursor
784         moves.
785         * configure.in, src/Makefile.am: Add rules for building python modules.
786 2002-06-12 msw
787         * src/vteaccess.c (vte_terminal_accessible_get_text): accept
788         end_offset of -1, which means "until the end".
789         * src/vteaccess.c (vte_terminal_accessible_new): never set the
790         description to a NULL pointer
791 2002-06-10 nalin
792         * Makefile.am, configure.in: Include gettext support.
793         * src/vte.c, src/vte.h: Expose vte_terminal_set_encoding().
794         * src/vte.c: Finish merging otaylor's Xft2 patch (oops).  Compute
795         padding correctly.
796         * src/pty.c, src/reaper.c, src/trie.c, src/vte.c: Mark warnings for
797         possible translation.
798 2002-06-07 nalin
799         * src/vte.c: Center characters in their cells, caching their extents.
800 2002-06-06 nalin
801         * src/vte.c, src/vte.h: Add get_cursor_position(). Remove get_snapshot()
802         and free_shapshot().
803         * src/vte.c: Fix a logic bug that caused us to scroll to the bottom
804         even if the user just pressed and released a modifier key.  Fix saving
805         of the font in set_font() in most cases, where we weren't saving the
806         new font before.  Scroll-to-bottom on input method commits, which are
807         also the result of keystrokes, when scroll-on-keystroke is enabled.
808         * src/vteaccess.c: Rework to use get_text() and get_cursor_position()
809         instead of get_snapshot(), so that selection and accessibility both
810         agree on what's visible (or "visible").
811 2002-06-05 nalin
812         * configure.in: Check for pangoxft with Xft1 or Xft2, hopefully getting
813         things right for either case.  Originally from patch by andersca.
814         * src/reaper.c, src/reaper.h: Add a singleton object to watch for
815         SIGCHLD when child processes quit.
816         * src/vte.c: Emit a "child-exited" signal when a child started with
817         fork_command() exits.
818         * src/vte.c: Make a better guess at font metrics when using Xft by
819         measuring the extents for a string of representative characters.
820         * src/vte.defs: Add.  Not very useful yet.
821 2002-05-31 nalin
822         * src/vte.c: Implement font setting using PangoX to convert Pango
823         font descriptions to core font xlfds for use when drawing with Xlib.
824 2002-05-29 nalin
825         * src/trie.c, src,vte.c: Finish switching iconv to g_iconv.  I think
826         this was a part of Hidetoshi Tajima's patch that I lost.  Free regexes
827         when we're done with them.
828 2002-05-28 nalin
829         * src/vte.c: Fix matching when scrolling delta isn't zero.  Fix async
830         background updating (report from Richard Neal Plana).  Fix cb() and ce()
831         when the cursor is on a line without data (needed to create it) and when
832         cells being cleared don't exist (needed to create them) (report from
833         Garret LeSage).
834         * src/vte.c, src/vteaccess.c: Always free the segment when freeing
835         arrays and strings.
836
837 2002-05-24 nalin
838         * autogen.sh: Call libtoolize. (#82836)
839         * src/vte.c: Fix stupid segfault in set_scrollback_lines.  (Patch
840         from notting.)  Make another attempt to convert Pango font descriptions
841         to xlfds.
842         * src/vteapp.c: Add -c, -f, -t command-line flags for easier testing.
843
844 2002-05-22 nalin
845         * src/vte.c: Fix hiliting of matched strings.
846
847 2002-05-21 nalin
848         * src/vte.c: Filter key release events through input methods.  (Patch
849         from otaylor.)  When building with gcc, use -std=c99.
850
851 2002-05-21 nalin
852         * autogen.sh, src/termcap.c, src/utf8echo.c, src/vte.c: Patch from
853         Hidetoshi Tajima to fix building on Solaris systems, remove use of
854         syntax that might be specific to gcc, and fix an overrun in
855         vte_termcap_generate().  (#82433)
856
857 2002-05-18 andersca
858         * src/vte.c: Don't queue a background update if the background isn't
859         transparent.
860
861 2002-05-16 nalin
862         * src/vte.c: Snip trailing whitespace off of copied lines, insert
863         an end-of-line only when the copied line doesn't go to the right edge,
864         don't overrun right edge, even in insert mode.  Fix displaying of
865         underlined text.  Finish implementing matching.
866
867 2002-05-15 nalin
868         * src/vte.c: Send kI on insert key.  Don't send drag events when the
869         child has only asked for click events.  Fix crashbugs in selection.
870         When getting scroll events, send mouse 4/5 events to the child instead
871         of performing a history scroll if the child wants mouse events.  Start
872         adding match support, merging how selection views the buffer with how
873         matching views the buffer, though matching doesn't work yet.
874
875 2002-05-14 nalin
876         * src/vte.c: Don't try to draw nul characters, most fonts can't.  Don't
877         send motion-tracking events to the child unless we're dragging.  Fix
878         ce so that it works even right after startup.  Make sure that repainting
879         the entire window actually exposes the visible parts of the window.  Fix
880         tab clearing to also allow removal of the current tabstop.  Implement
881         save-mode and restore-mode.  Start on reverse-video mode.  Don't scroll
882         on modifier keypress events.  Rework part of clipboard copy.
883         * termcaps/xterm: Add missing F11/F12/End keysyms to bundled xterm
884         termcap.
885 2002-05-13 nalin
886         * src/debug.c: Add "ALL" as a debug flag, aliased to everything.
887         * src/pty.c: Print debug info after redirecting stdio.
888         * src/trie.c: When debugging, count only decision nodes.
889         * src/vte.c: Fix se, for real this time.  Add a mostly-ignored protected
890         attribute.  Handle am, bw, ul flags properly.  Make cd clear the current
891         line, too.  Make ce fill the current default attributes through the end
892         of the line.  Handle cS.  Fix cv to work when we have a scrollback
893         buffer.  Handle ll, mp.  Line wrap on nd.  Reset tab stops on hard
894         reset only.  Handle soft-reset and full-reset.  Handle uc.  Initialize
895         scrollback line count properly.  Tweak drawing of alternate 'a' to
896         get rid of artifacts.  Reset insert mode, cursor visibility, and
897         scrolling regions when resetting.
898 2002-05-10 nalin
899         * src/vte.c: Fix IC, which should *always* be done in insert mode,
900         from otaylor.  Make delete mode do nothing.
901 2002-05-09 nalin
902         * src/vte.c: Fixes to usage of iconv, from otaylor.  Remap certain
903         characters which are missing in the current Xft font to similar
904         characters if they are in the font, from otaylor.  Change default
905         emulation to "xterm", cleaning up confusion over what standout really
906         means.  Reorganize some internals.  Complain when an application sends
907         us a key-press sequence, as if we knew what to do with one of those.
908         Implement bt, ct, st.  Reimplement ta.
909         * src/debug.c, src/debug.h: Added.
910 2002-05-08 nalin
911         * src/vte.c: Implement mouse motion-event and any-event tracking.
912 2002-05-07 nalin
913         * src/vte.c: Implement the rest of the special graphics characters.
914 2002-05-06 nalin
915         * src/vte.c: Finish implementing window-manipulation sequences.  Rename
916         signals to be more consistent.  Add thin wrappers for emitting signals,
917         and use them everywhere.  Support pangox even when XFT isn't available.
918         Try to provide bold text again.  Add signals for most of the window
919         manipulation control sequences.  Start handling mouse button events.
920         Hide the mouse cursor when we get keyboard events.  Use a different
921         mouse cursor if the child is mouse-aware.  Handle eA() by treating it as
922         as().
923         * src/caps.c, src/caps.h: Export definitions of VTE_CAP_CSI and friends.
924 2002-05-04 nalin
925         * src/vte.c: Implement device-status-report and dec-device-status-
926         report.  Clamp location values in sequence_handler_cm() to the
927         dimensions of the terminal window so that resize(1) will work right.
928         Start handling window-manipulation sequences.
929 2002-05-03 nalin
930         * src/termcap.c: Export a vte_termcap_strip() function for preprocessing
931         escape sequences and whatnot from capability values.
932         * src/typescrypt: Removed.
933         * src/vte.c: Pass the hard-coded xterm-specific capabilities through
934         vte_termcap_strip(), which fixes a few weird bugs.  Discard invalid
935         might-be-control-sequence sequences, like other emulators do.  Don't
936         consider modifier keys, by themselves, to be enough to scroll-on-key.
937         When snapshotting, actually snapshot all of a row instead of just the
938         last character.  Don't run past the end of snapshot contents when
939         reading them.
940         * src/vteaccess.c: Clamp offsets so that they always sort right.
941 2002-05-02 nalin
942         * src/termcap.c: Fix handling of triple-digit escaped characters,
943         which weren't being processed right if the first digit was '1' instead
944         of '0'.
945         * src/trie.c: Rework trie matching to return the address of the
946         character which ended the match attempt, which should cut down on
947         useless initial-substring checks.  Fix a subtle bug which caused
948         intermittent off-by-somenumber errors in the return address.
949         * src/vte.c:  Remove several gdk_window_scroll() calls which apparently
950         aren't buffered.  Convert invalid multibyte characters to '?' instead of
951         just dropping them.  Provide a means of setting the backspace/delete
952         bindings.  Add a poor xlfd_from_pango mapping function which would need
953         serious work to be useful.  Get rid of warnings when we're transparent
954         and the root window pixmap isn't as big as the root window because it's
955         been tiled.  Setup bindings using the export functions.  Set the default
956         terminal size to 80x24 instead of 60x18, which was originally chosen for
957         debugging purposes.  Don't use $SHELL as the command to invoke when
958         starting up a default command (as in the test app) -- libtool wrappers
959         keep screwing this up.  Don't limit the number of characters we skip
960         over in invalid multibyte sequences -- sometimes that's not enough.
961         Hook up ts/te, ks/ke sequence handlers.
962         * src/vteaccess.h: Fix a crashbug due to mismatch between parent field
963         in the object's structure and its inherited object's type.  Fix more
964         crash bugs due to initialization weirdness.  More to go.
965 2002-05-01 nalin
966         * src/vte.c: Try @pkgdatadir@/termcap/$TERM when reading termcap files.
967         This fixes the app on systems with no /etc/termcap, and also speeds up
968         loads and reduces memory consumption for xterm-color at the expense of
969         making on-the-fly emulation changes impossible.  Don't xor reverse with
970         itself when drawing characters (this broke when snapshotting was added).
971         * termcaps/Makefile.am, termcaps/xterm-color: include a default termcap
972         for xterm-color.
973         * src/termcap.c src/termcap.h: make _find_boolean return a gboolean
974         instead of an int.
975         
976 2002-04-30 nalin
977         * src/vte.c: Disconnect from toplevel window_configure events at
978         finalize-time.
979
980 2002-04-30 18:06  nalin
981         * src/vte.c: Track and free idle task tags properly.  Change F11 and
982         F12 capabilities from 'k;' and 'F1' to 'F1' and 'F2'.  Send a NUL on
983         control space. (#80350)  Allow setting and checking of word characters,
984         and change select-by-word behavior to use the word character list.
985         Emit "contents_changed" signals whenever the visible contents change,
986         and "cursor_moved" when the cursor moves.  Add snapshotting method.
987         Scroll when auto-margin handling moves the cursor to the next line.
988         Assume that the locale charset is actually ISO-8859-1 when we're in
989         a UTF-8 locale, so we don't toggle from UTF-8 to UTF-8.  Treat
990         GDK_KP_Page_Up as a GDK_Page_Up, ditto for GDK_KP_Page_Down and
991         GDK_KP_Tab and GDK_KP_Space.  Add vte_terminal_get_font().  Don't bother
992         messing with ring buffers if we're resizing them to their current sizes.
993         * src/pty.c, src/vte.c: Return a pid from vte_terminal_fork_command().
994         * src/vteaccess.c, src/vteaccess.h: Add VteTerminalAccessible object
995         type.  It might even work, mostly.
996
997 2002-04-29 14:25  nalin
998         * src/vte.c: Handle me() by resetting all attributes (including
999         colors, which we weren't resetting before).
1000
1001 2002-04-29 10:57  nalin
1002         * src/vte.c: Handle kb by treating it as a backspace.  Make pangox
1003         rendering the default.  Handle control-key sequences better, unless
1004         the input method is hiding the modifiers from us.  Set the default
1005         TERM variable to "xterm-color".
1006         * src/vte.c src/vte.h: Get rid of vte_terminal_set_core_font().
1007
1008 2002-04-26 19:14  nalin
1009         * src/vte.c: Punt all changes to background images and transparency
1010         to an idle task.  Only insert newlines into the copy buffer when the
1011         last column in a given line doesn't have a character in it.
1012 2002-04-26 17:35  notting
1013         * src/pty.c: use execlp/execvp
1014
1015 2002-04-26 12:09  nalin
1016         * src/Makefile.am, src/ring.c, ring.h: add a ring buffer for storing
1017         scrollback data.
1018         * src/vte.c: use a ring buffer instead of a GArray to hold scrollback
1019         rows.  Fix a bug in that.  Try to preserve what the user sees when the
1020         scrollback size changes.
1021         * src/vteapp.c: set a default scrollback buffer size of 100.
1022 2002-04-26 00:49  nalin
1023         * Makefile.am: run autogen before tagging so that the tag is always
1024         correct.
1025         * README: update.
1026         * configure.in: add pangox to the list of GTK+ 2.0 modules we link with.
1027         * src/vte.c, src/vte.h: add vte_terminal_set_scrollback_lines(), add
1028         some code to use pangox for rendering before trying core rendering,
1029         which should make font selection actually work.
1030         * vte.spec: tweak description text.
1031
1032 2002-04-25 12:23  nalin
1033
1034         * Makefile.am: Uncomment the tag target.
1035
1036 2002-04-25 12:22  nalin
1037
1038         * HACKING, Makefile.am, configure.in: Add some targets for building
1039         tarballs in a hopefully-reproducible way.
1040
1041 2002-04-25 12:12  nalin
1042
1043         * src/vte.c: Let GDK_USE_XFT turn on Xft as well as
1044         VTE_USE_XFT.
1045
1046 2002-04-25 01:45  nalin
1047
1048         * src/vte.c: Handle decoding errors
1049         better.
1050
1051 2002-04-25 00:49  nalin
1052
1053         * vte.spec: Include pkgconfig files in the package.
1054
1055 2002-04-25 00:43  nalin
1056
1057         * src/vte.c: src/vte.c: Make multiple calls to
1058         set_background_transparent() and set_background_image() do the
1059         right thing.
1060
1061 2002-04-25 00:05  nalin
1062
1063         * src/vte.c: Reverse the sanity check in
1064         vte_terminal_set_background_image_file() so that it rejects
1065         zero-length strings, not the other way around.
1066
1067 2002-04-24 23:54  nalin
1068
1069         * src/trie.c: Demote some debug messages to being trie-specific
1070         debug messages.
1071         * src/vte.h: Declare vte_terminal_set_core_font() for non-Xft use.
1072         * src/vte.c: Adjust idle priorities to make the terminal be more
1073         responsive. Fix a double-free that corrupted the heap on core font
1074         loads. Rework some pixbuf handling to only create new pixbufs when
1075         we need to modify what we are given. Revert a patch for profterm
1076         crackiness that's gone now.
1077
1078 2002-04-24 20:49  nalin
1079
1080         * README: update to-do list.
1081         * autogen.sh: remove --disable-shared.
1082         * src/pty.c: remove a memory leak.
1083         * src/termcap.c: fix a possible read-before-start-of-buffer.
1084         * src/trie.c: use iconv instead of mbrstowcs, even if it's just
1085         ASCII->W_CHAR_T.
1086         * src/vte.c: fix a few memory leaks. Only reset the IM context when
1087         we're realized, which is the only time we actually have an IM context.
1088         Don't create a copy of a pixbuf if we don't need to desaturate it,
1089         just ref it and use it directly.
1090
1091 2002-04-23 19:40  nalin
1092
1093         * src/vte.c: Display UTF-8 preedit strings properly, fix
1094         copy (no, really this time), and reset IM contexts when pasting
1095         text in.
1096
1097 2002-04-23 18:01  nalin
1098
1099         * src/pty.c: Print debug messages before redirecting stdio.
1100         * src/vte.c: Fix displaying of highlighted multi-column text.
1101         Use the GTK global setting for cursor blinking to control das
1102         blinkencursor.
1103         * src/vte.h: Remove function for setting blinking timeout.
1104
1105 2002-04-23 15:54  nalin
1106
1107         * src/pty.c: Fix a compile warning.
1108
1109 2002-04-23 15:54  nalin
1110
1111         * autogen.sh: Default to include optimization, even for debugging. 
1112         * configure.in: Move AM_CONFIG_HEADER to the top.
1113         * src/pty.c: Create non-login shells by default (when argv is NULL,
1114         otherwise it's up to the caller anyway.
1115         *  src/vte.c: Add mostly-complete input method support.
1116         * src/vte.h: Add vte_terminal_im_append_menuitems().
1117
1118 2002-04-23 13:04  hp
1119
1120         * src/vte.c, src/vte.h: add vte_terminal_set_font
1121
1122 2002-04-22 17:00  hp
1123
1124         * src/vte.c: when setting background color, use allocated color,
1125         and don't overwrite with bg of None
1126
1127 2002-04-22 16:50  hp
1128
1129         * src/vte.c: use gdk_rgb_find_color to allocate X colors
1130
1131 2002-04-22 16:35  nalin
1132
1133         * src/vte.c, src/vte.h, src/vteapp.c: Add vte_terminal_feed_child() to
1134         send UTF-8 strings to the child process, and actually apply Havoc's
1135         fix right this time.
1136
1137 2002-04-22 09:56  nalin
1138
1139         * src/vte.c: Prevent double-free of incoming buffer
1140         (patch from Havoc).
1141
1142 2002-04-16 01:43  nalin
1143
1144         * README: Fix typo.
1145         * src/vte.c: Make blinking cursors stay on while the user is typing,
1146         desaturate images using integer math.
1147
1148 2002-04-05 00:58  nalin
1149
1150         * vte.spec: Add less useless descriptions. 
1151         * src/vte.c: Fix an uninitialized variable and missing declaration
1152         error.
1153
1154 2002-03-24 21:52  nalin
1155
1156         * src/vte.c: Ensure that there's a data row
1157         whenever we scroll forward, fixing strangeness when I suspend and
1158         resume vim.
1159
1160 2002-03-24 19:08  nalin
1161
1162         * src/vte.c: Copy to clipboard synchronously, which
1163         fixes a number of problems.  Implement background transparency.
1164
1165 2002-03-17 20:59  nalin
1166
1167         * src/vte.c: Rework backgrounds to take advantage of gdk's automatic
1168         drawing.
1169         * src/vteapp.c: Try to enable transparency if no background
1170         image is present.
1171
1172 2002-03-17 20:58  nalin
1173
1174         * autogen.sh, configure.in: Adjust warnings used when in maintainer
1175         mode.
1176
1177 2002-03-17 01:15  nalin
1178
1179         * src/vte.c: Draw the cursor as an unfilled box when the widget does
1180         not have focus.
1181
1182 2002-03-17 01:04  nalin
1183
1184         * src/vte.c: Fix handling of scroll-on-output to always scroll when
1185         only we're at the bottom of the buffer.
1186         * src/vteapp.c: Disable scroll-on-output by default.
1187
1188 2002-03-17 00:45  nalin
1189
1190         * src/vte.c src/vte.h: Rework tiling of background images, and
1191         implement a blinking cursor.
1192         * src/vteapp.c: Set blinking cursor by default.
1193
1194 2002-03-14 02:58  nalin
1195
1196         * src/caps.c: Corrections to some xterm control sequences.
1197
1198 2002-03-14 02:32  nalin
1199
1200         * configure.in: Define PACKAGE correctly.
1201         * src/vte.c src/vteapp.c: Move most of the tear-down code into the
1202         widget finalize method; handle EOF and widget destruction correctly
1203         to prevent segfaults.
1204
1205 2002-03-14 00:48  nalin
1206
1207         * configure.in: * configure.in: Define PACKAGE.
1208
1209 2002-03-14 00:18  nalin
1210
1211         * configure.in: Disable gdk-pixbuf's deprecated functions.
1212         * vte.c: Discard non-ascii bytes to clear logjams that
1213         happen when we pass invalid terminal data to iconv().
1214
1215 2002-03-13 23:07  nalin
1216
1217         * src/iso8859mode.c, src/utf8mode.c, src/vte.c, src/vte.h:
1218         add missing includes
1219         * vte.c vte.h: implement background color setting, provide
1220         a function for setting the defaults, tile background images
1221         properly
1222
1223 2002-03-13 21:12  nalin
1224
1225         * configure.in, vte.pc.in, src/vte.c: Remove gdk-pixbuf-xlib
1226         dependency by using just gdk-pixbuf. 
1227         * src/vte.c: Perform background image desaturation locally.
1228
1229 2002-03-13 14:37  nalin
1230
1231         * src/vte.c: Don't add the widget's allocation offsets
1232         when generating expose events.
1233
1234 2002-03-13 14:22  nalin
1235
1236         * src/vteapp.c: Don't try to use transparency for now.
1237
1238 2002-03-13 13:29  andersca
1239
1240         * src/vte.c, src/vte.h: Add more functions that profterm can use.
1241
1242 2002-03-13 12:51  andersca
1243
1244         * .cvsignore, vte.pc.in: Silent cvs and add gdk-pixbuf-xlib to
1245         depends in the .pc.in file
1246
1247 2002-03-13 12:37  andersca
1248
1249         * src/.cvsignore: Sliff sloff
1250
1251 2002-03-13 12:37  andersca
1252
1253         * src/.cvsignore: sssh
1254
1255 2002-03-13 12:19  nalin
1256
1257         * configure.in: Add gdk-pixbuf-xlib-2.0 as a module requirement.
1258
1259 2002-03-13 01:21  nalin
1260
1261         * src/vte.c, vte.h, vteapp.c: * vte.c: Add set_size,
1262         set_audible_bell, set_scroll_on_output, set_scroll_on_keystroke,
1263         copy_clipboard, paste_clipboard, set_background_image,
1264         set_background_image_file, and set_background_saturation.  Also
1265         added a broken set_background_transparent.
1266
1267 2002-03-12 22:35  nalin
1268
1269         * src/vte.h: adjust the name of a declared function (was _set_size,
1270         is _size_set)
1271
1272 2002-03-12 22:11  nalin
1273
1274         * src/vte.c: Get rid of a global copy of the parent class.
1275         * vte.c: Implement ec, ic, and IC handlers.
1276
1277 2002-03-12 22:10  nalin
1278
1279         * src/vte.h: Fix a typo in a comment (we don't "omit" signals).
1280
1281 2002-03-12 15:48  nalin
1282
1283         * src/caps.c: Recognize xterm cursor-character-absolute sequence.
1284         * src/vte.c: Handle cursor-character-absolute.  Change the default font
1285         to "mono" 14 point when using Xft.
1286
1287 2002-03-12 15:22  nalin
1288
1289         * src/vte.c: Handle the ve (cursor visible) control sequence.
1290
1291 2002-03-12 15:19  nalin
1292
1293         * src/vte.c: Handle dec private mode set (cursor visibility).
1294
1295 2002-03-12 15:13  nalin
1296
1297         * src/vte.c, src/vte.h, src/vteapp.h: fix signed/unsigned problems
1298         (fixes from alexl)
1299
1300 2002-03-11 20:29  nalin
1301
1302         * src/vte.c: Make scroll-on-output scroll on control sequences, too.
1303
1304 2002-03-11 20:19  nalin
1305
1306         * src/Makefile.am, src/iso8859mode.c, src/utf8mode.c:
1307         Add simple programs for moving a terminal in and out of UTF-8 mode.
1308         * src/vte.c: Be more verbose about iconv() errors.  Implement dc and DC
1309         handlers.  Handle auto-wrapping (the "am" flag).  Remove scrolling
1310         cheats from the al handler, which made the window jump.
1311
1312 2002-03-11 02:39  andersca
1313
1314         * src/vte.c: Add a finalize handler and free our title strings
1315         there.
1316
1317 2002-03-11 02:05  nalin
1318
1319         * Makefile.am, configure.in, src/vte.c, src/vte.h, src/vteapp.c:
1320         Emit "window_title_changed" and "icon_title_changed" when the
1321         titles change, and store the new values in a public field so that a
1322         handler can retrieve the values (patch from Anders Carlsson).
1323
1324 2002-03-11 01:54  nalin
1325
1326         * vte.pc.in: Add vte.pc, from Anders Carlsson.
1327
1328 2002-03-11 01:47  nalin
1329
1330         * src/vte.c: Fix a duplicate-idle-handler bug.
1331
1332 2002-03-11 01:32  nalin
1333
1334         * README, src/vte.c: Fix selection (except maybe the end-of-line
1335         stuff).
1336
1337 2002-03-10 23:44  nalin
1338
1339         * src/vte.c: Whoops, I broke selection.  Fix that.  Implement
1340         selection by lines.
1341
1342 2002-03-10 23:08  nalin
1343
1344         * src/vte.c: Move character rendering into a common function so
1345         that the cursor is always drawn the same as other characters (fixes
1346         previous glitches when using Xft and when the cursor was over an
1347         alternate charset character).
1348
1349 2002-03-10 03:31  nalin
1350
1351         * src/vte.c: Differentiate between single, double, and triple-click
1352         for selection (still need to do something with that info).
1353
1354 2002-03-10 03:16  nalin
1355
1356         * stamp-h.in: remove this file
1357
1358 2002-03-10 03:15  nalin
1359
1360         * configure.in: Don't check for pango because we never call pango
1361         directly.
1362
1363 2002-03-10 03:13  nalin
1364
1365         * src/vte.c: Deselect properly when something else is inserted into
1366         the clipboard.
1367
1368 2002-03-10 02:26  nalin
1369
1370         * AUTHORS, HACKING, README, src/utf8echo.c, src/vte.c: Fix
1371         wide-character handling (now handles mid-stream encoding changes
1372         correctly).  Updates to the meager docs.
1373
1374 2002-03-09 02:41  nalin
1375
1376         * Makefile.am, vte.spec, src/Makefile.am: Add a .spec file (make
1377         dist; rpm -ts vte*.tar.gz; rpm --rebuild) to make building a
1378         package easier.
1379
1380 2002-03-09 02:24  nalin
1381
1382         * src/vte.c: skip over space columns when selecting
1383
1384 2002-03-09 02:20  nalin
1385
1386         * src/pty.c, src/vteapp.c: Use a login shell by default.
1387
1388 2002-03-09 02:10  nalin
1389
1390         * src/vte.c, src/vte.h, src/vteapp.c: Rework input queueing to allow for
1391         feeding without a pty.  Use gdk_window_scroll() in _al and _up
1392         handlers, and in the _do handler, because it's usually faster.
1393
1394 2002-03-08 02:52  nalin
1395
1396         * src/vte.c: Implement copy and almost-correct selection
1397         highlighting.
1398
1399 2002-03-07 21:30  nalin
1400
1401         * src/vte.c: Use a queue for pasting data.  Try to get dragging
1402         detected right (doesn't work).
1403
1404 2002-03-05 19:21  nalin
1405
1406         * src/vte.c: Mark the beginning of a selected area.
1407
1408 2002-03-05 19:17  nalin
1409
1410         * src/vte.c: Make pasting asynchronous.
1411
1412 2002-03-05 19:07  nalin
1413
1414         * src/vte.c: actually free clipboard data when finished with it
1415
1416 2002-03-05 19:02  nalin
1417
1418         * src/vte.c: Implement middle-button paste.
1419
1420 2002-03-05 18:55  nalin
1421
1422         * src/vte.c: Properly convert from utf-8 or wchar_t strings when
1423         sending data to the pseudo-terminal.
1424
1425 2002-03-04 19:53  nalin
1426
1427         * src/vte.c: Implement shift/pgup/pgdown scrolling.  Make
1428         scroll-on-keypress and -on-output easier to toggle.
1429
1430 2002-03-04 19:26  nalin
1431
1432         * src/vte.c: Spec out the rest of the alternate characters I
1433         haven't implemented yet.  Remove a function that can't be easily
1434         written (scroll_rows).  Correctly update the insertion delta when
1435         scrolling, to fix man(1) again.
1436
1437 2002-03-04 19:16  nalin
1438
1439         * src/vte.c: Discard redundant cursor-position exposes.
1440
1441 2002-03-04 18:57  nalin
1442
1443         * src/termcap.c, src/termcap.h, src/vte.c: Use ssize_t to measure string
1444         offsets in termcap, and don't assume that all capabilities have
1445         values.  This fixes some nasty crashes.
1446
1447 2002-03-04 11:53  nalin
1448
1449         * src/vte.c: add a missing bounds-check in the erase-in-row
1450         function
1451
1452 2002-03-04 01:13  nalin
1453
1454         * README, src/vte.c: Send the slave pty's erase character when the
1455         user hits backspace.
1456
1457 2002-03-04 00:59  nalin
1458
1459         * src/vte.c: Draw cursors to fill the entire cell.  Draw the blank
1460         alternate character (ooh, tough).  Remove a redundant expose.
1461
1462 2002-03-03 23:49  nalin
1463
1464         * src/trie.c: stop using wcsnlen, which is a GNU extension
1465
1466 2002-03-03 23:43  nalin
1467
1468         * src/caps.h, src/pty.h, src/termcap.h, src/trie.h, src/vte.c,
1469         src/vte.h: Add support for the line-drawing characters in the special
1470         characters and line-drawing character set. (See
1471         [http://vt100.net/docs/vt102-ug/table5-13.html].)
1472
1473 2002-03-03 21:57  nalin
1474
1475         * src/pty.c, src/pty.h, src/vte.c: Properly differentiate insertion
1476         delta (working screen) from scrolling delta.    Add environment setting
1477         to the pty code.
1478
1479 2002-02-27 21:54  nalin
1480
1481         * src/trie.c, src/vte.c, src/vte.h: Make the Xft support use long-lived
1482         data items.  Clean up a lot of other Xft-related code.
1483
1484 2002-02-27 10:45  nalin
1485
1486         * src/vte.c: actually hook up the nd handler to the "nd" sequence
1487
1488 2002-02-27 00:05  nalin
1489
1490         * autogen.sh, configure.in, src/vte.c, src/vte.h: - Add sub-optimal
1491         Xft rendering (set VTE_USE_XFT to "1" to try it); still needs
1492         quite a bit of work to be useful.  Implement character-position-absolute
1493         and line-position-absolute, which I  think are the only sequences which
1494         emacs uses and which weren't implemented.
1495
1496 2002-02-25 12:43  nalin
1497
1498         * src/Makefile.am: distcheck fixes
1499
1500 2002-02-25 12:41  nalin
1501
1502         * README: add that line-drawing does not work to README
1503
1504 2002-02-25 12:40  nalin
1505
1506         * configure.in, src/Makefile.am: tree fixups
1507
1508 2002-02-25 12:38  nalin
1509
1510         * configure.in: fix autoconf reference file problem
1511
1512 2002-02-25 12:38  nalin
1513
1514         * src/Makefile.in: remove stuff which should never have been added
1515
1516 2002-02-25 12:37  nalin
1517
1518         * configure.ac, configure.in, src/Makefile.in: rename configure.ac
1519         to configure.in, remove 2.5isms
1520
1521 2002-02-25 12:35  nalin
1522
1523         * doc/ctlseqs.ps, Makefile.in, aclocal.m4, config.h.in, configure:
1524         remove stuff that should never have been in there
1525
1526 2002-02-25 12:30  nalin
1527
1528         * AUTHORS, ChangeLog, Makefile.am, NEWS, README, autogen.sh,
1529         configure.ac, COPYING, HACKING, Makefile.in, aclocal.m4,
1530         config.h.in, configure, stamp-h.in, doc/ctlseqs.ms, doc/ctlseqs.ps,
1531         doc/readme.txt, doc/vttest.tar.gz, src/Makefile.am,
1532         src/Makefile.in, src/caps.c, src/caps.h, src/interpret.c,
1533         src/marshal.list, src/pty.c, src/pty.h, src/termcap.c,
1534         src/termcap.h, src/trie.c, src/trie.h, src/typescript,
1535         src/utf8echo.c, src/vte.c, src/vte.h, src/vteapp.c: Initial
1536         revision
1537
1538 2002-02-25 12:30  nalin
1539
1540         * AUTHORS, ChangeLog, Makefile.am, NEWS, README, autogen.sh,
1541         configure.ac, COPYING, HACKING, Makefile.in, aclocal.m4,
1542         config.h.in, configure, stamp-h.in, doc/ctlseqs.ms, doc/ctlseqs.ps,
1543         doc/readme.txt, doc/vttest.tar.gz, src/Makefile.am,
1544         src/Makefile.in, src/caps.c, src/caps.h, src/interpret.c,
1545         src/marshal.list, src/pty.c, src/pty.h, src/termcap.c,
1546         src/termcap.h, src/trie.c, src/trie.h, src/typescript,
1547         src/utf8echo.c, src/vte.c, src/vte.h, src/vteapp.c: imported from
1548         private cvs
1549