source: trunk/third/libzvt/ChangeLog @ 18258

Revision 18258, 122.7 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18257, which included commits to RCS files with non-trunk default branches.
Line 
12002-06-24  jacob berkman  <jacob@ximian.com>
2
3        * configure.in: 2.0.1
4
5        * libzvt/Makefile.am (install-exec-local): add a dep to the
6        ptyheler install rule to fix chown bustage
7
82002-06-20  jacob berkman  <jacob@ximian.com>
9
10        * libzvt/Makefile.am (libzvt_2_0_la_LDFLAGS):add libtool version
11
12        [ merged from HEAD ]
13
14flags2002-06-19  jacob berkman  <jacob@ximian.com>
15
16        * libzvt/libzvt-2.0.pc.in:
17        * configure.in: bump to 2.0.0, and add libtool versioning foo
18
19        * libzvt/subshell.c:
20        * libzvt/Makefile.am: install gnome-pty-helper in $libexecdir,
21        rather than $sbindir.  it's not something anyone should be running
22        from a shell
23
242002-06-11  jacob berkman  <jacob@ximian.com>
25
26        * libzvt/update.c (vt_fix_selection): workaround for bug #73284
27        from samuel stringham <sam@e-sa.com>
28
292002-06-05  jacob berkman  <jacob@ximian.com>
30
31        * libzvt/Makefile.am (install-exec-local):
32        * configure.in: on darwin, install gnome-pty-helper as group admin
33        rather than root
34
35        * libzvt/gnome-pty-helper.c (sanity_checks): if the settings are
36        below our sensible limit, try setting the limit to what we think
37        we should have before giving up
38
39        these are from the gnome-libs 1.4 fink patches and make
40        gnome-terminal work on os x
41
422002-06-03  jacob berkman  <jacob@ximian.com>
43
44        * Makefile.am:
45        * po/: kill po
46
47        * configure.in: 1.117.0
48
49        * libzvt/gnome-pty-helper.c: remove malloc.h
50
51        * revert i18n stuff, seems to have broken some things (committing
52        them to libzvt-i18n branch)
53
54Tue May 28 22:26:41 2002  HideToshi Tajima  <hidetoshi.tajima@sun.com>
55
56        * libzvt/vt.c (vt_parse_vt): wrongly stripped out control
57        characters from 0x51 to 0x80.
58
592002-05-28  jacob berkman  <jacob@ximian.com>
60
61        * configure.in: may as well do 1.116.0 while we're at it
62
63        * libzvt/libzvt.h:
64        * libzvt/update.c:
65        * libzvt/vt.c:
66        * libzvt/zvtterm.c: i18n patch from Hidetoshi Tajima
67        <hidetoshi.tajima@sun.com> to make i18n work.  hopefully it
68        doesn't break everything.
69
70        fixes #78007
71
722002-05-14  Michael Meeks  <michael@ximian.com>
73
74        * libzvt/zvtterm.c (zvt_term_set_color_scheme): setup
75        fore_last so the foreground colour gets synched correctly.
76
772002-05-14  jacob berkman  <jacob@ximian.com>
78
79        * configure.in: 1.115.2
80
812002-05-13  Havoc Pennington  <hp@pobox.com>
82
83        * libzvt/zvtterm.c (zvt_term_set_background_transparent): rename
84        to set_background_with_shading and make it like
85        zvt_term_set_background, so it can also affect the non-transparent
86        case as the old "darken background" thing did.
87
882002-05-13  jacob berkman  <jacob@ximian.com>
89
90        * configure.in: 1.115.1
91
92        * libzvt/zvtterm.c (zvt_term_style_set): re-set the background
93        color when our style changes.  i hated this bug so much.
94
95        * configure.in: 1.115.0
96
972002-04-29  Gustavo Giráldez  <gustavo.giraldez@gmx.net>
98
99        * libzvt/zvtterm.c (zvt_term_init): set the background_pixmap to
100        NULL
101        (zvt_term_destroy): Unload the background.
102        * libzvt/background.c (zvt_background_set,
103        zvt_term_background_unload): unref current pixmaps before setting
104        new values.
105
1062002-05-12  Mattias Eriksson  <snaggen@acc.umu.se>
107
108        * libzvt/zvtterm.c: Add function
109        zvt_term_set_background_transparent to make the background
110        transparency adjustable.
111
1122002-05-13  jacob berkman  <jacob@ximian.com>
113
114        * libzvt/zvtterm.c (zvt_term_set_background_transparent):
115
1162002-04-23  jacob berkman  <jacob@ximian.com>
117
118        * libzvt/zvtterm.c (zvt_term_convert_selection): revert as this
119        wasn't a bug
120
1212002-04-22  Mark McLoughlin  <mark@skynet.ie>
122
123        * libzvt/zvtterm.c: (zvt_term_convert_selection): null
124        terminate the return value.
125
1262002-04-21  Havoc Pennington  <hp@pobox.com>
127
128        * libzvt/vt.c: apply patch from Cristiano De Michele to handle
129        clearing screen when switching to alternate screen, or something
130        along those lines.
131
1322002-04-19  jacob berkman  <jacob@ximian.com>
133
134        * configure.in: 1.114.0
135
136        * COPYING:
137        * COPYING.LIB: add
138
1392002-04-13  Havoc Pennington  <hp@pobox.com>
140
141        * background.c (pixmap_from_atom): add a gdk_flush() before the
142        error trap pop
143        (pixbuf_from_atom): put an error trap around the
144        get_from_drawable, probably fixes #75340 but I could
145        never reproduce #75340 so it's hard to know.
146
1472002-04-13  Havoc Pennington  <hp@pobox.com>
148
149        * background.c (zvt_configure_window): do nothing if
150        we aren't using transparent background stuff.
151
152        * zvtterm.c (zvt_term_hierarchy_changed): use hierarchy changed
153        signal to deal with toplevel.
154
155        * background.c: redo the watch/unwatch toplevel stuff,
156        #74197
157
1582002-03-18  jacob berkman  <jacob@ximian.com>
159
160        * vt.c (vt_setmode): fix a typo which causes dialog --infobox to
161        not leave its message displayed.  patch from Richard
162        Braakman <dark@xs4all.nl>, fixes #75289
163
1642002-03-17  Havoc Pennington  <hp@pobox.com>
165
166        * zvtterm.c (zvt_term_button_press): return TRUE not FALSE
167        if we report a button to the child app, since we consumed the
168        event. Fixes #73501
169       
1702002-03-05  jacob berkman  <jacob@ximian.com>
171
172        * Makefile.am (INCLUDES): remove $(WARN_CFLAGS) borax
173
1742002-02-26  Havoc Pennington  <hp@pobox.com>
175
176        * zvtterm.c (zvt_term_map): remove total crackrock grab_focus from
177        map handler. Caused segfault in gnome-terminal due to weird
178        reentrancy in GTK+.
179
1802002-02-15  Havoc Pennington  <hp@pobox.com>
181
182        * zvtterm.c (zvt_term_set_backspace_binding):
183        (zvt_term_set_delete_binding): new functions to allow a reasonable
184        UI and API for the backspace/delete mess. The old swap_del_key and
185        del_is_del settings still work by setting certain combinations of
186        backspace/delete binding.
187
188Wed Feb 20 17:00:07 2002  George Lebl <jirka@5z.com>
189
190        * libzvt.h, zvtterm.c: the _get_type function needs to be of type
191          GType not guint to fix 64bitness issue
192
1932002-02-13  jacob berkman  <jacob@ximian.com>
194
195        * zvtterm.c (zvt_term_class_init): s/GTK_TYPE_INT/G_TYPE_INT/
196        patch from <laszlo.peter@ireland.sun.com> (fixes bug #71388)
197
1982002-02-12  jacob berkman  <jacob@ximian.com>
199
200        * background.c:
201        * libzvt.h:
202        * zterm.c:
203        * zvtterm.c:
204        * zvt-marshal.list: patch from Deepa <deepa.chacko@wipro.com> to
205        remove deprecated glib/gdk/gtk calls
206
207        * zvt-accessible-factory.[ch]:
208        * zvt-accessible.c: fix some warnings
209
210        * Makefile.am: turn on deprecation disable flags; fix warnings in
211        zvt-marshal.c
212
2132002-02-08  Havoc Pennington  <hp@pobox.com>
214
215        * zvtterm.c (zvt_term_button_press): return TRUE so the event
216        doesn't filter any further. This keeps the tab from yanking focus
217        away from the zvt in a tab terminal.
218
2192002-02-06  jacob berkman  <jacob@ximian.com>
220
221        * zvt-accessible-factory.[ch]:
222        * zvt-accessible.[ch]:
223        * zvtterm.c (zvt_term_get_accessible): patch from Marc Mulcahy
224        <marc.mulcahy@sun.com> to implement a11y for zvt
225
2262002-01-29  Josh Barrow  <drleary@mac.com>
227
228        * .cvsignore:
229        Added zvt-marshal.[ch]
230
2312002-01-22  Havoc Pennington  <hp@pobox.com>
232
233        * zvtterm.c (zvt_term_set_fonts): first ref, then unref,
234        so self-assignment works.
235
2362002-01-20  Havoc Pennington  <hp@pobox.com>
237
238        Old patch I forgot to check in.
239       
240        * vt.c (vt_set_text): try to convert title to UTF-8
241
242        * Makefile.am ($(srcdir)/zvt-marshal.c): add goo to build
243        marshallers
244
245        * zvtterm.c (zvt_term_class_init): make title_changed signal
246        signature reflect reality
247        (zvt_term_title_changed): fix signature
248
249Sat Jan 19 20:35:12 2002  Soeren Sandmann  <sandmann@daimi.au.dk>
250
251        * zvtterm.c (zvt_term_button_press): Remove case 4 and 5
252        * zvtterm.c (zvt_term_scroll_by_lines): CLAMP new_value to (lower,
253        upper-page_size)
254        * zvtterm.c (zvt_term_scroll_event): new function
255
256Fri Jan 18 21:10:15 2002  Owen Taylor  <otaylor@redhat.com>
257
258        * zvtterm.c (zvt_term_init): Remove setting of
259        double-buffered to false ... fixes problem with
260        borders getting junk in them and problem with flashing
261        when opaque resizing with a background set.
262
263Thu Jan 17 21:49:57 2002  Owen Taylor  <otaylor@redhat.com>
264
265        * zvtterm.c (zvt_term_realize): Set background color
266        correctly on realization.
267
268Mon Jan 14 12:19:09 2002  Owen Taylor  <otaylor@redhat.com>
269
270        * background.c (zvt_configure_window): Event handlers
271        return boolean! Return FALSE to not eat configure
272        events.
273
274Mon Jan 14 03:21:27 2002  Owen Taylor  <otaylor@redhat.com>
275
276        * zvtterm.c (zvt_term_init): Set as not double
277        buffered ... it doesn't really make a lot of sense
278        for this widget which does lots of funky drawing
279        outside the expose handler.
280
281        * zvtterm.c (vt_draw_text): Use GDK_GC_GET_XGC() when
282        drawing.
283
284        * zvtterm.c (zvt_term_set_color_scheme): Queue a
285        redraw, so the caller doesn't have to.
286
287        * zvtterm.c (zvt_term_set_fonts_internal): Turn back
288        on the queue_resize(), since changing the fonts
289        changes our requisition, so we need to queue_resize().
290
291        * zvtterm.c: Just return a size of 1x1 character always.
292        The requisition of a widget cannot depend on it's
293        allocation. GTK+ doesn't work that way.
294
295        * zvtterm.c (term_force_size): Remove the 'queue_resize()'
296        in the !zp->auto_hint case. If the widget isn't doing
297        magic, it should be a proper widget and just react to
298        the size it is given.
299
3002001-12-11  Laszlo Peter  <laca@ireland.sun.com>
301
302        * gnome-pty-helper.c: use glib/galloca.h instead of copy-pasted checks,
303        fix a typo.
304
3052001-12-04 Marc Mulcahy <marc.mulcahy@sun.com>
306
307        * vt.h update.c zvtterm.c: Added selection_changed signal
308
3092001-11-29  Havoc Pennington  <hp@redhat.com>
310
311        * vt.h: include sys/types.h since we use pid_t
312
3132001-11-01  jacob berkman  <jacob@ximian.com>
314
315        * libzvt-2.0.pc.in (Requires): add libart
316
317        * zvtterm.c (zvt_term_init): instead of adding targets
318        individually, just add a target table
319        (paste_received): callback from a paste request - so paste text
320        into the term.  it seems not to really support utf8 so convert to
321        string first.
322        (zvt_term_paste): use nice new gtk clipboard apis!  pasting is a
323        breeze now, and i can get rid of some clunky code.
324        (zvt_term_button_press): use new paste function
325        (zvt_term_selection_get): use new gtk selection api to properly
326        work, basically.
327        (zvt_term_selection_received): no longer needed
328        (zvt_term_key_press): use new paste function
329        (zvt_term_real_copy_clipboard): don't set the clipboard to be the
330        WTF-32 encoding zvt uses internally; convert to UTF-8
331        (zvt_term_real_paste_clipboard): use new paste function
332
3332001-10-31  jacob berkman  <jacob@ximian.com>
334
335        * background.c (zvt_filter_prop_change): fix to work with new
336        GdkAtom changes
337
3382001-10-30  jacob berkman  <jacob@ximian.com>
339
340        * libzvt-2.0.pc.in (Cflags):
341        * Makefile.am (libzvt_2_includedir): use libzvt-2.0 rather than
342        gnome-2.0
343
3442001-10-18  jacob berkman  <jacob@ximian.com>
345
346        * zvtterm.c (zvt_term_size_allocate): set the grid size, so later
347        size requests work right
348
3492001-10-14  Xavier Bestel  <xavier.bestel@free.fr>
350 
351        * zvt/vt.c: Now correctly reports mouse wheel events
352        to applications (e.g. VIM).
353
3542001-09-18  Havoc Pennington  <hp@redhat.com>
355
356        * Makefile.am (gnome-pty-helper-2): rename gnome-pty-helper, and
357        use automake properly to compile it (what was up with this
358        before?)
359
360        * subshell.c (get_ptys): rename gnome-pty-helper
361
362Fri Sep 07 14:32:00 2001  George Lebl <jirka@5z.com>
363
364        * Makefile.am, libzvt-2.0.pc.in:  Use the gnome-2.0 prefix just like
365          the rest of the gnome libs and actually include the -I flag in the
366          .pc file
367
3682001-09-01  Darin Adler  <darin@bentspoon.com>
369
370        * libzvt.h: Add public calls to do a copy and paste to the
371        clipboard.
372        * zvtterm.c: (zvt_term_class_init),
373        (zvt_term_real_copy_clipboard), (zvt_term_real_paste_clipboard),
374        (zvt_term_copy_clipboard), (zvt_term_paste_clipboard): Renamed the
375        functions that do the copy and paste to real_*, and make public
376        functions that emit the signal.
377
3782001-09-01  Darin Adler  <darin@bentspoon.com>
379
380        * Makefile.am: Remove unneeded -I directives.
381        * gnome-utmp.c: (update_wtmp), (write_login_record): Fix warnings
382        by adding missing include and fixing printf format. Simplify
383        ifdefs.
384        * libzvt-init.c: Fix warning.
385        * libzvt.h: Fix warning.
386        * update.c: (vt_getmatches): Removed unused variable to fix warning.
387        * zvtterm.c: (zvt_term_realize): Fix warning.
388        (zvt_term_copy_clipboard): Use gtk_clipboard calls instead of
389        gtk_selection calls so the clipboard will contain the contents as
390        of the time of the copy, not as of the time of the paste.
391        (vt_scroll_area): Fix warning.
392
3932001-08-30  jacob berkman  <jacob@ximian.com>
394
395        * zvtterm.c (zvt_term_class_init): use GTK_TYPE_POINTER rather
396        than GTK_TYPE_STRING since that's what the marshaller is
397        (zvt_term_init): default to be unfilled (we fill on focus_in)
398        (term_force_size): s/style->klass/style/
399        (zvt_term_destroy): don't do stupid things on multiple destroy()s
400        (zvt_term_realize): don't start blinking until focus_in
401
402        * libzvt-2.0.pc.in (Libs): pull in -lutil if needed
403
4042001-08-24  jacob berkman  <jacob@ximian.com>
405
406        * Makefile.am (zterm_LDADD): remove $(INTLLIBS)
407        (zterm_LDADD): link stuff against $UTIL_LIBS so that it actually
408        works
409
410Tue Aug 14 14:47:16 PDT 2001 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
411        Additional install changes.
412
413        * Makefile.am: changed to add gnome_pty_helper_SOURCES
414          Also libzvt-2.0.pc installation option added. Added background.h 
415          lists.h  vt.h  vtx.h to list of files to be installed.
416        * libzvt.h: Copied zvtterm.h into libzvt.h, zvtterm.h will be removed.
417        * libzvt-2.0.pc.in: Removed the libgnomecanvas dependency.
418        * Changes to indicate include files location.
419
420Tue Jul 31 19:00:14 PDT 2001 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
421        * Makefile.am: Removed libgnomecanvas dependencies, added all
422        files. Needs one more level of cleaning after all files are
423        finalized.
424        * background.c: Removed <gnome.h>, Changes for changed term->colors
425        definition ( gulong colors[18] changed to GdkColor colors [18] in
426        zvtterm.h).
427        * libzvt-init.c: completely commented out for now.
428        * libzvt.h: -do- may be we need to mv zvtterm.h to libzvt.h
429        * update.c: vt_getmatches modified to prevent crash when sol->next=NULL
430        * vt.h: cahnged to accommodate arguments to
431        gtk_marshal_VOID__POINTER_INT.
432        * vt.c: -do-
433        * vtx.h: Changed #include <zvt/lists.h> to #include "lists.h"
434        same for #include <zvt/vt.h>
435        * zvtterm.h: included <gtk/gtksignal.h> for gtk_signal_connect
436        and gtk_signal_disconnect routines.
437        Include files vtx.h/background.h changed as for vtx.h in the above
438        bullet.
439        In struct _ZvtTerm
440        Deprecated GdkColorContext/GdkIC
441        Substituted GdkColorContext with GdkCOlormap
442        Changed gulong colors [18] to GdkColor colors[18]
443        GdkIC substiotution still needs to be done.
444        In struct _ZvtTermClass
445        title_chaned/got_output parameters changed.
446        * zvtterm.c: Deleted #include "libgnomeui/gnomemarshal.h"
447        Changed the argument order for zvt_term_title_changed and
448        zvt_term_title_changed_raise in order to accommodate for non existing
449        _VOID__INT_POINTER to _VOID__POINTER_INT in gtk_marshal.
450        Filled in term_class->got_output function zvt_term_got_output
451        Commented out all color_ctx/ic entries.
452        zvt_term_set_color_scheme modified to work with color_map.
453        created color_map instead of color_context in zvt_term_realize.
454        vt_draw-text updated to allow backing store defined in
455        gtk+/gdk/gdkwindow.c to work correctly.
456
4572001-05-01  Stanislav Brabec  <utx@penguin.cz>
458        * zvtterm.h, zvtterm.c: New bit del_is_del, new function
459        zvt_term_set_del_is_del. New default behavior of Delete. Main
460        purpose of new default behavior is to be in sync with XFree86 and
461        allow "Emacs-friendly" mode (make difference between Ctrl-H,
462        Delete and BackSpace). Delete now defaults to Esc[3~ (VT220's
463        kdch1) and del_is_del forced DEL/^H.
464
465        * zvtterm.c: Changed codes for Home and End keys from X11R5 ones
466        (Esc[1~ and Esc[4~) to X11R6 key_home/end ones (EscOH and EscOF).
467        If keys don't work with readline apps, you probably need to fix
468        terminfo entry.
469
470        * zvtterm.c: "Metafy" characters with MOD1 or MOD4. Fast solution
471        of fact, that XTerm metafies characters with MOD1 on 102 keyboards
472        and with MOD4 with 105 keyboards.
473
474        * zvtterm.c: Generate code for Menu key.
475
476        * TODO: Note about modifier remapping.
477
478        Ported from stable branch of gnome-libs, after discussion with
479        George Lebl and Martin Baulig.
480
4812001-04-18  Martin Baulig  <baulig@suse.de>
482
483        This is now in the libzvt module.
484
485        * libzvt-2.0.pc.in: Added pkg-config file.
486
487        * Makefile.am: Set up basic GNOME 2 build environment.
488
489        * libzvt.h: New public header file.
490        * libzvt-init.c: New file.
491
492Wed Dec 06 01:57:35 2000  George Lebl <jirka@5z.com>
493
494        * zvtterm.c: remove the draw method, it's no longer in gtk+
495
4962000-11-17  Not Zed  <NotZed@HelixCode.com>
497
498        * zvtterm.c (zvt_term_class_init): Initialise the bindings.  Patch
499        from Erwann Chenede <Erwann.Chenede@ireland.sun.com> that lets you
500        bind keys to certain actions (so far, only copy/paste and scroll
501        actions).
502
503        * zvtterm.h (struct _ZvtTermClass): Added binding callbacks.
504
505Thu Aug 24 02:25:02 2000  George Lebl <jirka@5z.com>
506
507        * Makefile.am: remove the GDK_PIXBUF_LIBS as this is now part of
508          GTK proper
509
510Thu Jul 06 03:08:28 2000  George Lebl <jirka@5z.com>
511
512        * zvtterm.h: add the standard GTK+ cast and checking macros, as
513          some were missing
514
515Sat Jun 17 20:14:37 2000  George Lebl <jirka@5z.com>
516
517        * zvtterm.c (vt_cursor_state): don't draw the cursor outline when
518          in backscroll (using the same logic as in vt_draw_cursor)
519
520Fri Jun 16 12:17:53 2000  George Lebl <jirka@5z.com>
521
522        * zvtterm.c (vt_cursor_state): Draw the no-focus cursor as an
523          unfilled rectangle.  This makes figuring out which terminal is
524          focused much easier and is consistent with the xterm behaviour
525
526Fri May 05 19:22:11 2000  George Lebl <jirka@5z.com>
527
528        * background.c: fix for new gdk-pixbuf interface and fix a warning
529          by fixing the gdk filter function prototype
530
5312000-03-28  NotZed  <NotZed@HelixCode.com>
532
533        * Merged from gnome-libs-1-0, zvt-merge-2 till zvt-merge-3 changes.
534
5352000-03-06  Elliot Lee <sopwith@redhat.com>
536        * gnome-utmp.c: strncmp returns int not pointer - act accordingly.
537
5382000-02-01  Iain Holmes  <ih@csd.abdn.ac.uk>
539
540        * zvtterm.c (zvt_term_realize): Undid the change below.
541
542        * Makefile.am: Use the $(GDK_PIXBUF_LIBS) and $(LIBART_LIBS) instead
543        of the relative paths.
544
5452000-02-01  Iain Holmes  <ih@csd.abdn.ac.uk>
546
547        * zvtterm.c (zvt_term_realize): Changed to use gnome_stock_cursor_new.
548
5492000-01-22  NotZed  <notzed@zedzone.helixcode.com>
550
551        * zvtterm.[ch] vt.c: Forward port fixes between zvt-merge-1 and
552        zvt-merge-2 back into HEAD.
553
5542000-01-09  ERDI Gergo  <cactus@cactus.rulez.org>
555
556        * background.c: Removed some warnings
557
558        * zvtterm.[ch] : Added a new signal (got_output) to allow nice
559        things like logging and output notification
560
5611999-12-30  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
562
563        * zvtterm.c (zvt_term_draw): Remove the background pixmap on the
564        window if we have a background image.  Much cleaner opaque resize.
565
566        * background.c (pixmap_from_atom): Trap errors, so a missing root
567        pixmap doesn't crash us!
568        (zvt_background_set): Do some valid pointer checking before we try
569        and use them, where they might fail.
570
571        * zvtterm.h (struct _zvtprivate): Removed transpix, no longer
572        used.
573
574        * zvtterm.c (zvt_term_draw): When we do a whole draw, first
575        refresh the border then update each line individually rather than
576        clearing the whole screen.  It is a little slower, but visually
577        smoother esp on opaque move.
578        (free_transpix): Use _ZVT_PRIVATE() macro to get private data, and
579        in all other functions using the direct method.
580        (zvt_term_size_request): Ignore size_pending flag, and always
581        supply the grid_width/grid_height as the desired size.
582        (zvt_term_size_allocate): Make sure we DO NOT set the grid size
583        to the real grid size.  This causes loops in the gtk resize code
584        otherwise as it changes what we say want (wrongly!).
585        (term_force_size): New funciton - forces the size of the terminal
586        window.  Either performs a queue resize, or sets window hints
587        (which does as well), if the auto_hint option is on.
588        (zvt_term_new_with_size): Remove reference to
589        set_grid_size_pending (and in all other functions).
590        (zvt_term_set_size): Call term_force_size() to set the size.
591        (zvt_term_realize): Ditto.
592        (zvt_term_set_fonts_internal): Force the size to match the current
593        terminal size.
594        (zvt_term_set_auto_window_hint): New API function.  Controls if
595        the terminal will try and auto-window manager-hint the application
596        window based on the terminal window geometry.  By default this is
597        enabled, and tracks font size changes, etc.
598        (zvt_term_destroy): Removed call to free_transpix().
599        (free_transpix): Removed function, no longer needed.
600
6011999-12-09  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
602
603        * background.c (pixbuf_from_atom): Use new
604        gdk_pixbuf_get_from_drawable() function to get the pixbuf.
605        Remove reference to gdk-pixbuf-drawable.h file.
606        (zvt_term_background_set_pixmap): Changed to include a colourmap
607        as well, and to properly ref/unref pixmaps.  Fixed all callers.
608        (zvt_background_set): Changed to use get_from_drawable, and to
609        support the colourmap of a pixmap/drawable, when further
610        processing required.
611
6121999-12-06  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
613
614        * zvtterm.c (zvt_term_set_color_scheme): If there is no colour
615        context setup yet, then queue the colour setting request until
616        there is one.
617        (zvt_term_realize): If there was a queued colour request, then use
618        it rather than the default when setting up the initial colour
619        scheme.
620
6211999-12-08  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>
622
623        * Makefile.am (zterm_LDADD): properly link zterm to gdk-pixbuf,
624        libart_lgpl, libgnomeui and libgnome.
625
6262000-03-20  Jacob Berkman  <jacob@helixcode.com>
627
628        * gnome-utmp.c (write_login_record): patch from Gerald Britton
629        <gbritton@mit.edu> for utmp handling
630
6312000-03-06  Elliot Lee <sopwith@redhat.com>
632        * gnome-utmp.c: strncmp returns an int, not a pointer - act
633        accordingly.
634
6352000-03-02  NotZed  <NotZed@HelixCode.com>
636
637        * update.c (vt_update): When scroll-updating, dont update till the
638        end of the screen, unless we have a background pixmap.  Fixes a
639        rendering glitch when multiple scrolled regions have occured
640        between updates.
641
6422000-02-14  Timur Bakeyev <timur@gnu.org>
643
644        * gnome-utmp.c: Changed [sizeof()] to [sizeof()-1]. That prevents
645        overriding next field. Stupid me...
646
6472000-02-14  Timur Bakeyev <timur@gnu.org>
648
649        * gnome-pty-helper.[ch], gnome-utmp.c, subshell.c, zvt-term.h,
650        zterm.c: Applied patches from Andrew J. Korty <ajk@waterspout.com>
651        that fixes/extends such parts:
652       
653        * gnome-pty-helper didn't raise permissions after dropping them, so,
654        updates to the utmp/tty permissions didn't work... Thanks a lot!
655       
656        * Add support for lastlog records, if possible.
657       
658        Patches re-worked a bit to be more consistent. Also, some mine fixes
659        to the original code.   
660       
6612000-01-29  NotZed  <notzed@zedzone.helixcode.com>
662
663        * zvtterm.c (zvt_term_destroy): Free colours if they are set.
664        (zvt_term_init): Initialise queue_*, and use g_malloc0() for
665        private data.
666        Fixes for bug #5574, fixes from Petr Tesarik
667        <tesarik@petr.lupa.cz>, and Fabrice Bellet
668        <Fabrice.Bellet@creatis.insa-lyon.fr>
669
6702000-01-22  NotZed  <notzed@zedzone.helixcode.com>
671
672        * zvtterm.c/h (term_force_size): Back-port resize and colour-setting
673        fixes from HEAD version.
674
675        * vt.c (vt_reset): Send a properly formatted DA response, and
676        implement a DA2 response.  DA2 should only be sent if this is a
677        vt220.  Duh.
678        (vt_parse_vt): Added state 10 for \e[> ...
679
6801999-12-21  Miguel de Icaza  <miguel@helixcode.com>
681
682        * zvtterm.c (zvt_term_key_press): Pass the time request_paste
683        (fixes ICCCM compliancy bug, check bug tracking system).
684        (zvt_term_button_press): ditto
685        (zvt_term_selection_received): ditto.
686        (request_paste): Take time argument;  Pass this to
687        gtk_selection_convert instead of GDK_CURRENT_TIME.
688
689        Fixes #4273
690
6911999-12-06  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
692
693        * gnome-utmp.c (write_login_record): Duh, strncmp() returns an
694        int, not a pointer!
695
696        * zterm.c (main): Fix invalid escape sequence.
697
698        * MERGE gnome-libs-1-0 into HEAD, from the zvt-merge-1 point.
699
700        * vt.c (vt_down): Use gotoxy to move down, and ignore scrollbottom
701        boundary.
702        (vt_up): Similarly to move up.
703        (vt_left/right): Do the same here.
704
7051999-12-05  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
706
707        * background.c (zvt_term_background_load): If not realised yet,
708        then queue the background setting till we are.
709
710        * zvtterm.c (zvt_term_set_background): Remove background load
711        queue, and put it in zvt_term_background_load().
712
713        * background.c (zvt_term_background_load): Always unload the
714        background first.
715        (zvt_term_background_ref): If the background is NULL, ignore this
716        call.
717        (zvt_term_background_unref): Similarly.
718
719        * zvtterm.c (zvt_term_set_background): If we are not realised,
720        then queue the background setting until we are.
721        (zvt_term_realize): Actually load the queued background settings
722        here.
723
7241999-12-04  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
725
726        * background.c (zvt_background_set): If we have no pixmap after
727        trying to get one, then just set solid colour as the background.
728        (add_winwatch): Duh, actually add the watch node to the watch list
729        ...
730        (del_winwatch): Double duh, actually remove the watch and atom
731        nodes from the watch lists ...
732        (zvt_watch_move): Store the signal connection id ...
733        (zvt_unwatch_move): ... so that it can be removed when no longer
734        needed.
735        (zvt_term_background_unload): If we have a config signal to watch,
736        remove it.
737
738        * zvtterm.c (zvt_term_set_background): Transparent pixmap should
739        be relative to root origin.
740
741        * Makefile.am (zterm_LDADD): Add the gdk pixbuf libraries.
742        THIS NEEDS FIXING, as it requires them to be installed first (but
743        i can't get gnome-libs to build).
744
745        * zvtterm.[ch]: Removed gdk_imib.h header.
746
747        * background.c: Fixed license header, and api doc headers, and
748        fixed a few bugs/cleanups.
749
750        * zvtterm.c (zvt_term_get_capabilities): Always say we have
751        ZVT_TERM_PIXMAP_SUPPORT, removed imlib function ...
752        (get_desktop_window): Killed.
753        (get_pixmap_prop): Killed.
754        (load_pixmap_back): Killed.
755        (create_shaded_pixmap): Killed.
756        (load_background): Killed!
757        (safe_strcmp): Killed too!  Imlib dead!
758        (zvt_term_draw): No longer call load_background().
759        (zvt_term_set_background): Call the new image loader functions to
760        set the background, and configure all options available.
761        (zvt_term_realize): Force-load the background, to make sure we
762        have pens to render with.
763
764        * Makefile.am: Added background.[ch]
765
7661999-12-04  Michael Zucchi  <mzucchi@denr.sa.gov.au>
767
768        * background.c: New background loading/handling code.  Not
769        actually used yet.
770
771        * zvtterm.h (struct _zvtprivate): Added new background thingies.
772
7731999-11-02  Miguel de Icaza  <miguel@gnu.org>
774
775        * gnome-pty-helper.c (open_ptys): Use cfsetispeed and cfsetospeed
776        for setting the line speed instead.
777       
7781999-11-02  Michael K. Johnson <johnsonm@redhat.com
779
780        * gnome-pty-helper.c (open_ptys): set speeds in POSIX-compliant manner.
781
7821999-11-01  Miguel de Icaza  <miguel@gnu.org>
783
784        * gnome-pty-helper.c (open_ptys): The default is 127,  not C-h for
785        VERASE.
786
7871999-10-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
788
789        * gnome-pty-helper.c (open_ptys): VDISCARD character is control-o,
790        not control-u, which is already used for VKILL.  Fixes problem
791        posted to gnome-list.
792
7931999-10-19  Michael Zucchi  <mzucchi@denr.sa.gov.au>
794
795        * vt.c (vt_lf): Make sure we dont linefeed off the end of the
796        screen, bug #2885 (and probably most other segfaults).  This may
797        cause problems elsewhere, but probably not.
798
7991999-11-16  Michael Zucchi  <mzucchi@denr.sa.gov.au>
800
801        * zterm.c (main): Highlight url's using colour as well as
802        underline.  Ick red on green!
803
804        * vtx.h (struct vt_match_block): Include 'saveline', a place to
805        store a copy of the line if we're highlighting using colour.
806
807        * update.c (copy_line): Convenience function, clones a vt line.
808        (vt_highlight): If the highlight includes colour, then save the
809        line temporarily.
810        (vt_unhighlight): New function, removes highlight.  If the
811        highlight line was saved, then restore that, rather than just
812        inverting.
813        (vt_match_highlight): Call vt_match_unhighlight() when removing a
814        match highlight.
815        (vt_free_match_blocks): Free the b->saveline, if it is set (should
816        never happen ...).
817        (vt_getmatches): Initilaise saveline to 0.
818
819        * zvtterm.c (zvt_term_match_add): Dont strip off colour bits.
820        Updated doco.
821
8221999-11-02  Miguel de Icaza  <miguel@gnu.org>
823
824        * gnome-pty-helper.c (open_ptys): Use cfsetispeed and cfsetospeed
825        for setting the line speed instead.
826
8271999-10-28  Miguel de Icaza  <miguel@gnu.org>
828
829        * gnome-pty-helper.c (open_ptys): The defaults are now set to stty
830        sane.
831
8321999-11-01  Dick Porter <dick@acm.org>
833
834        * gnome-pty-helper.c: Fix fcntl() error handling
835
8361999-10-29  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
837
838        * vt.c (vt_setmode): Oops, inverted the blank cursor logic.
839
8401999-10-28  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
841
842        * update.c (vt_getmatches): Incase we get a dumb regex that
843        matches an empty string, we need to scan the whole line, character
844        by character.  Slow slow.
845
846        * vt.h (VTMODE_BLANK_CURSOR): New flag bit for mode.  Indicates a
847        blank cursor - do not poke this bit directly!
848
849        * update.c (vt_draw_cursor): Do not draw the cursor at all, if we
850        are in blank cursor mode.  Blank cursor by issuing \E[?25h,
851        \E[?25l to turn it on again.
852
853        * vt.c (vt_setmode): Implement cursor blank control character.
854
8551999-10-20  Miguel de Icaza  <miguel@gnu.org>
856
857        * gnome-pty-helper.c (open_ptys): VDISCARD character is control-o,
858        not control-u, which is already used for VKILL.  Fixes problem
859        posted to gnome-libs.
860
8611999-10-19  Michael Zucchi  <mzucchi@denr.sa.gov.au>
862
863        * vt.c (vt_lf): Make sure we dont linefeed off the end of the
864        screen, bug #2885 (and probably most other segfaults).  This may
865        cause problems elsewhere, but probably not.
866
8671999-09-28  Elliot Lee <sopwith@redhat.com>
868        * zvtterm.c (zvt_term_key_press): Catch GDK_Tab _and_ GDK_ISO_Left_Tab
869        and use them appropriately. I don't think GDK_Tab really needed to be caught,
870        but oh well.
871
872        Also make builds with d(x) = x work.
873
8741999-09-29  Michael Zucchi  <mzucchi@denr.sa.gov.au>
875
876        * zvtterm.c (zvt_term_button_release): Ahh no, we dont want to do
877        the extend selection thing if the button was pressed, tahts why
878        this damn moved flag is here in the first place ...
879        (zvt_term_button_press): We want to indicate a 'moved' mouse
880        whenever we get a right click.  Raph was right!
881
8821999-09-28  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
883
884        * vt.c (vt_setmode): Ahh .. if we switch from alt screen using
885        1047, we must clear the screen.  How obvious.
886
8871999-09-26  Martin Baulig  <martin@home-of-linux.org>
888
889        * update.c (vt_match_clear): You must use g_free() to free a
890        g_malloc()ed piece of memory, not libc's free(); this segv's
891        when using malloc checking in glib.
892
8931999-09-23  Michael Zucchi  <mzucchi@denr.sa.gov.au>
894
895        * update.c (vt_getmatches): Keep track of the position of the
896        current match for multiple match scans on the same line.
897
898        * gnome-pty-helper.c (open_ptys): Another attempt ... this time
899        conditionally check every bloody flag before we try and use it.
900
9011999-09-22  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
902
903        * gnome-pty-helper.c: Make the use of ECHOKE/ECHOCTL conditional.
904        More portability fixes (this time its broken-irix bug #2321).
905
9061999-09-19  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
907
908        * vt.c (vt_set_text): Return VTTITLE_XPROPERTY as a title type
909        when the mode number is 3.
910
911        * vt.h (VTTITLE_XPROPERTY): New title type, requests a setting of
912        an X property.
913
914        * vt.c (vt_setmode): #@$@#$@#$# when the send mouse was being set,
915        the mask was beign applied inverted, and blowing away all the
916        other mode bits.
917       
9181999-09-19  Michael Zucchi  <mzucchi@denr.sa.gov.au>
919
920        * zvtterm.c: Removed the zvt_term_match_clicked() prototype,
921        function no longer exists.
922
923        * gnome-pty-helper.c (open_ptys): If the system defines the
924        default tty settings (TTYDEF_xFLAG), then use them, otherwise
925        create our own (hopefully portable?) versions.
926
9271999-09-19  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
928
929        * zvtterm.c (zvt_term_button_release): Make sure we update the
930        selection for a right click, even if the mouse hasn't moved.
931
9321999-09-14  Michael Zucchi  <mzucchi@denr.sa.gov.au>
933
934        * gnome-pty-helper.c (open_ptys): init the termio's structure to
935        0's (unknown fields?).  Added some portability fixes for Solaris
936        at least (maybe this isn't as portable as it was supposed to be?)
937        (main): Fixed a warning with the uid type.
938
9391999-09-14  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
940
941        * gnome-pty-helper.c (open_ptys): Added patch from Alan Cox
942        <alan@lxorguk.ukuu.org.uk> to set termios to a known state,
943        instead of taking the terminal defaults.
944
945        * vt.c (vt_lf): Fixed line-feed implementation, for when the
946        scroll-range has been set.  It was quite broken.
947
9481999-09-14  Michael Zucchi  <mzucchi@denr.sa.gov.au>
949
950        * vt.c (vt_setmode): Properly handle 1047 (==47) and 1048
951        (save/restore cursor position).
952
9531999-09-12  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
954
955        * zterm.c (button_press_event): Changed to perform the lookup
956        manually, instead of relying on the signal - pity, the code was
957        cleaner before, but this isn't too much of a price to pay for bin
958        compat.
959
960        * update.c (vt_match_clear): Changed my totally stupid use of the
961        double-linked list (treating it as a single-linked list), to a
962        more sane and accurate version.
963
964        * zvtterm.c (zvt_term_class_init): Remove the match_clicked
965        signal.
966        (zvt_term_class_init): Ditto.
967        (zvt_term_button_press): No longer check/emit a match_clicked
968        signal.
969        (zvt_term_match_clicked): Removed dummy callback fn.
970
9711999-09-12  Michael Zucchi  <mzucchi@denr.sa.gov.au>
972
973        * zvtterm.c (zvt_term_match_check): New function, api call to get
974        the match string, when the application already gets the mouse
975        button events (hmph).
976
9771999-09-11  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
978
979        * Merge of ZVT_MATCH into HEAD.
980
9811999-09-10  Michael Zucchi  <mzucchi@denr.sa.gov.au>
982
983        * Makefile.am (EXTRA_DIST): Include the gnome-pty-helper sources
984        here, since we build it manually.  Yuck.  Blame Solaris' ld.
985
986        * vt.h (VTMODE_SEND_MOUSE): Put this flag back in.  Make the other
987        mouse flags use this bit always, when they are active.  Bit of an
988        annoying hack for backward compatability.
989
9901999-09-09  Michael Zucchi  <mzucchi@denr.sa.gov.au>
991
992        * vt.c (vt_report_button): Propertly report the 2 different mouse
993        modes.  Only button presses, no qualifiers (X10 mode), and button
994        press/release + qualifiers (X11 mode?).  Fixes bug #1888.
995
996        * zvtterm.c (zvt_term_button_press): Indicates direction of button
997        press to vt_report_button().
998        (zvt_term_button_release): Indicates direction of button press to
999        vt_report_button().  Also now passes the button number.
1000
1001        * Makefile.am (gnome-pty-helper): Added manual build target for
1002        gnome-pty-helper.  Because of some broken linkers we need to limit
1003        what gets put on the link line (see bug #1246/#1576).
1004
10051999-09-11  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1006
1007        * zvtterm.c (zvt_term_get_capabilities): Added the new capability,
1008        and updated the documentation to match.
1009
1010        * zvtterm.h (ZVT_TERM_MATCH_SUPPORT): New capability to indicate
1011        the match functions exist/work.
1012
1013        * update.c (vt_match_clear): Free and match blocks (some of which
1014        may point to this match type).
1015
1016        * zvtterm.c: Added missing gtk/gtkselection.h include.
1017
1018        * update.c (vt_update): Force highlighted matches to be cleared.
1019        (vt_free_match_blocks): Ditto, after this the pointers are no
1020        longer valid.
1021
1022        * zterm.c (main): Fixed invocations of zvt_term_match_add().
1023
1024        * zvtterm.c (zvt_term_feed): Turn off any match before reading any
1025        data.
1026        (zvt_term_readdata): Same.
1027        (zvt_term_motion_notify): If we move the mouse over a match,
1028        change the pointer to a hand, and highlight the match
1029        appropriately.
1030        (zvt_term_match_add): Added new parameter to specify the type of
1031        highlighting to use - taken from vt attributes currently.
1032        (zvt_term_set_pointer): New internal funtion to set the mouse
1033        pointer and the reference to what it is currently, but only if it
1034        has changed.
1035
1036        * update.c (vt_getmatches): Have each match include a number of
1037        match blocks, rather than each match block indicating its parent
1038        match.
1039        (vt_free_match_blocks): Fixed for above change.
1040        (vt_match_highlight): Highlight toggle, or clear a highlight match.
1041        (vt_highlight): Implement toggling the highlight.  Currently
1042        it has to be somehting reversible, e.g. toggle bold/underline/etc,
1043        or invert colours.
1044
1045        * zvtterm.c (zvt_term_show_pointer): Changed to check if we are
1046        currently the dot cursor.
1047        (zvt_term_unrealize): Free the zp->cursor_hand.
1048        (zvt_term_realize): Allocate a zp->cursor_hand.
1049
10501999-09-07  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1051
1052        * zvtterm.c (zvt_term_motion_notify): Check for matches if we
1053        haven't before, and the screen has changed.
1054
1055        * zvtterm.h (struct _ZvtTermClass): Added the new match_clicked
1056        signal.
1057
1058        * zvtterm.c (zvt_term_button_press): Emit a match_clicked signal
1059        when we get a right mouse button event over a match string.  Hmm,
1060        I can't see how we can do this for the other buttons without
1061        interfering with normal operation :(
1062
1063        * update.c (vt_match_check): Check for a match given screen char
1064        coordinates.
1065
1066        * zvtterm.c (zvt_term_match_clear): User function - to clear one
1067        or all of the match strings.
1068        (zvt_term_match_add): User function - adds a new match string.
1069        (zvt_term_match_clicked): Dummy signal handler for the (new)
1070        match_clicked signal.
1071        (zvt_term_class_init): Add the new match_clicked signal.
1072
1073        * vtx.h: Added new 'magic match' data structures.
1074
1075        * update.c (vt_free_magic_blocks): New function - free's the list
1076        of matched blocks (if there are any) and indicates that no match
1077        attempt has been tried on the current display.
1078        (vt_getmatches): New function - scans the _currently displayed_
1079        screen for matches against the match regular expressiones.  If any
1080        are found they are stored as 'match blocks' which map to
1081        rectangles on the screen.
1082        (vtx_new): Initialise the new match functions.
1083        (vtx_destroy): Free new match resources.
1084        (vt_match_clear): Remove one or all the match regular expressions.
1085
10861999-09-05  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1087
1088        * update.c (vt_line_update): Removed a dead comment.
1089
10901999-08-26  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1091
1092        * zvtterm.h (struct _zvtprivate): Added new parameters for
1093        asynchronous writing/pasting of lots of text.
1094        (zvt_term_writechild): New public function.  Shouldn't be used by
1095        pre 1.2 (1.0.50?) code.
1096
1097        * zvtterm.c (zvt_term_selection_received): Now calls
1098        zvt_term_writechild() to write data to the child.
1099        (zvt_term_writechild): New function - writes any amount of data to
1100        the child sub-process through the child pipe, asynchronously if
1101        required.  Can be called mutiple times before writes are complete.
1102        (zvt_term_writemore): New io write callback.  Used to deal out
1103        blocks of data overflowed from zvt_term_writechild() until its run
1104        out.  These changes fix bug #1899 & #1539.
1105        (zvt_term_init): Initialise zp->paste_id & paste pointer.
1106        (zvt_term_destroy): Free any resources from zp->paste_id or paste
1107        pointer.
1108
11091999-08-16  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1110
1111        * update.c (vt_line_update): When checking for common blocks of
1112        unchanged characters following changed characters, make sure the
1113        current attr is taken into account.
1114
11151999-08-02  Elliot Lee <sopwith@redhat.com>
1116        * subshell.c, gnome-pty-helper.c: Actually the problem was
1117        that zvt was depending on receiving certain signals, but
1118        zvt didn't do sigprocmask() to unblock signals that had been
1119        blocked by the panel.
1120
11211999-08-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1122
1123        * subshell.c (zvt_shutdown_subshell): Fix the problem Elliot is
1124        experimenting.  Basically the code now allowed for two different
1125        paths: one was the process natural death, and the other was an
1126        explicit kill from the parent.
1127
1128        I think that the explicit kill is not required as closing all the
1129        file descriptors should provide EOFs in good quantity to the child
1130        process.  *Unless* There is a file descriptor leak.  If there is
1131        an FD leak we should plug that instead of doing a kill SIGHUP the
1132        child process.
1133
1134        I have kept this patch semantically correct with the previous
1135        version on CVS but implemented correctly.  But we should really
1136        investigate this rather than putting a kill signal here.
1137
1138        So basically, we now keep track of whether the process has died or
1139        not, and if so, the exit status of the process (to return this
1140        value from the zvt_shutdown_subshell routine.
1141
1142        * gnome-utmp.c (write_login_record): Remove warning about unused
1143        vaiable.
1144
11451999-07-28  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1146
1147        * update.c (vt_select_block): NUL terminate selection.  Bug #1631.
1148
11491999-07-26  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1150
1151        * zvtterm.c (zvt_term_size_allocate): When resizing, turn off the
1152        selection.  Can cause inconsistencies in state.  Fixes bug #1744.
1153
11541999-07-19  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1155
1156        * update.c (vt_fix_selection): Some fixes from Matthijs Melchior
1157        <mmelchio@xs4all.nl> for word selection.
1158
11591999-07-02  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1160
1161        * zvtterm.c (request_paste): Fix an out-by-1 array bounds check.
1162
11631999-06-26  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1164
1165        * update.c (vt_line_update): When reverse video set, then force
1166        background render always.  Fixes a really nasty bug where lots of
1167        text starts to vanish.
1168        (vt_fix_selection): Another minor select-by-word fix.
1169
1170        * vt.c (vt_tab): When storing tab, dont over-write blank
1171        attributes.
1172
11731999-06-23  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1174
1175        * update.c (vt_in_wordclass): Make sure we ignore attributes before
1176        doing character type tests.
1177
11781999-06-20  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1179
1180        * zvtterm.c (vt_draw_text): When we render bold, dont offset y as
1181        well as x (well you can, but its kinda hard to read :)
1182
11831999-06-20  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1184
1185        * subshell-includes.h: Under Solaris at least, defining
1186        _XOPEN_SOURCE means that the winsize stuff is NOT defined.  I've
1187        added a __EXTENSIONS__ define so it does get defined.  Either that
1188        or _XOPEN_SOURCE must be undefined.  Hopefully this is portable to
1189        other unices ...
1190        This fixes bug #1435.
1191
11921999-06-19  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1193
1194        * zvtterm.h: Removed unecessary include of X11.h and Xlib.h.
1195
1196        * vt.h: Merged ZVT_UTF to head.  Yay UTF8 font support.  Roll on
1197        new bugs I guess.
1198
11991999-06-18  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1200
1201        * zvtterm.c (zvt_term_key_press): Support function keys right upto
1202        GDK_F20.
1203
12041999-06-17  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1205
1206        * zvtterm.h (struct _zvtprivate): New field transpix to store the
1207        transparency pixmap pointer.
1208
1209        * zvtterm.c (zvt_term_draw): When we are asked to draw, make sure
1210        the background fill colour is still right (themes can change them!
1211        the cads!)
1212        (zvt_term_draw): Go back to drawing clearing the whole area before
1213        rendering, if we are using a pixmap (otherwise a bit of border can
1214        be left).
1215        (zvt_term_draw): Well if we are going to draw the background, make
1216        sure we dont draw it when we draw the text too (set fill=17).
1217        (free_transpix): New function, free the foreign pixmap wrapper for
1218        the transparency pixmap.
1219        (zvt_term_destroy): Free the transparency pixmap wrapper if it
1220        exists.
1221        (zvt_term_init): Set the tranparenxy pixmap to null.
1222        (load_background): Fixed up a rather embarassing oops, freeing a
1223        pointer we're using 3 lines above.  The tranparency pixmap is
1224        stored separately to the background pixmap, so we can free it and
1225        track it properly, since we cannot unref it.  I dont know how this
1226        didn't crash more often!
1227
1228        * zvtterm.h: Removed the zvt_term_get/set_adjusetment() ifdef'd
1229        out functions, so they dont confuse developers.
1230
12311999-06-14  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1232
1233        * update.c (vt_expand_line): Range check start value.
1234        (vt_fix_selection): Range check x values, at least above 0.  For
1235        bug #966.
1236        (vt_update): When checking to see if we update the line, always
1237        update if the scrollbar moved.  vt_line_update() will optimise
1238        rendering anyway.
1239        (vt_fix_selection): Cleaner implementation of select-by-word.  No
1240        longer flickers/funny over selecting tabbed text.
1241
1242        * zterm.c (set_hints): Renamed size_allocate to set_hints.
1243        Changed to use gtk_window_set_geometry_hints() instead of the X
1244        call.
1245        (main): Change the size_allocate signal to a realize signal, to
1246        set the window hints once the window is realized.
1247
1248        * zvtterm.c (zvt_term_size_request): Removed bogus 'magic numbers'
1249        from some of the size values.
1250        (zvt_term_size_allocate): Removed a couple more magic numbers from
1251        the size stuff, since it actually seems to work now.
1252
12531999-06-10  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1254
1255        * gnome-pty-helper.c (open_ptys): Use fchown()/fchmod() to set the
1256        slave pty's ownership/permissions after openpty() returns.  IMHO
1257        this is fixing a non-existant bug, but who am I to argue?
1258        (): Also include sys/stat.h, for S_* defines.
1259        (open_ptys): Rewrote the last change to be a bit simpler!
1260
12611999-06-02  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1262
1263        * zvtterm.c (zvt_term_draw): Use a forced fill to draw the
1264        background, rather than a big rectangle.  Makes it smoother.
1265
1266        * update.c (vt_scroll_update): When we request an update, use
1267        bl->width (the actual window width), not l->width (the stored line
1268        width, which may not match).
1269        (vt_update): Same.
1270        (vt_draw_selection_part): Same again!
1271
1272        * zvtterm.c (vt_scroll_area): Added back some old code from about
1273        version 1.10, that forces all expose events to be processed before
1274        scrolling exits.  If we are rendering scrolled pixmaps, things get
1275        kinda bogged down and events get processed out of order.
1276        (create_shaded_pixmap): When creating a pixmap for a partially
1277        off-screen window, also treat that as a "tile".
1278
1279        * Merged ZVT_PXIMAP branch back to head!
1280
12811999-06-02  Michael Zucchi  <zucchi@zedzone.mmc.com.au >
1282
1283        * zvtterm.c (zvt_term_init): Set _zvtprivate data before calling
1284        any functions.
1285        (zvt_term_set_fonts_internal): Create the bold-save pixmap of the
1286        right size, if we need it (rendering bold).
1287        (vt_draw_text): When drawing a bold text, grab 1 pixel of data
1288        past the end of the text, draw it, embolden it, then draw the
1289        pixmap back again.  What a mess, but required for some TINY fonts
1290        which use up all of thier size.
1291        (zvt_term_destroy): Free the bold_save pixmap if it was setup.
1292        (zvt_term_init): Initialise bold_save pointer to null.
1293
1294        * zvtterm.h (struct _zvtprivate): Add bold_save - a pixmap used to
1295        save possibly overwritten screen when algorithmically generating
1296        bold.
1297
1298        * update.c (vt_draw_selection_part): Make sure the back line
1299        matches the draw line.  Broke badly on selecting in scrollback.
1300
13011999-06-02  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1302
1303        * update.c (vt_line_update): Added background line to use for
1304        updates.  Fixed all callers.  Saves a lot of calls to
1305        vt_list_index() for each line rendered (maybe tops 2-3% difference).
1306
1307        * zvtterm.c (zvt_term_draw): Pass in background colour just
1308        cleared to update_rect, so we dont render it twice.
1309        (zvt_term_expose): Ditto.
1310
1311        * update.c (vt_line_update): Almost completely rewritten.
1312        Simpler, and more obvious, and faster too!
1313        (vt_update_rect): Added a fill argument, the fill colour that the
1314        rectangle is set to.
1315        (vt_draw_selection_part): Dont force update, cleaner selection
1316        visual.
1317        (vt_update): Only force background update if we are on a scrolled pixmap.
1318
13191999-06-01  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1320
1321        * zvtterm.c (zvt_term_set_color_scheme): Removed reference to
1322        term_window.
1323        (zvt_term_realize): Same.
1324        (vt_draw_text): Dont draw a background box explicity, use
1325        XDrawImageString() when we can get away with it.  Maybe this saves
1326        X traffic?
1327
1328        * vt.c (vt_resize_lines): Fixed up the indenting again.
1329        (vt_resize): More indenting fixes.
1330
1331        * vtx.h (struct _vtx): Added scroll_type to the _vtx structure.
1332        Indicates how the display might be scrolled, always (no
1333        background) sometimes (scrolling background), or never (static
1334        background).  Added to end of structure, still bin compatible.
1335
1336        * zvtterm.c (zvt_term_realize): No longer setup a separate
1337        terminal window.
1338        (zvt_term_unrealize): Removed references to term_window.
1339        (zvt_term_map): Ditto.
1340        (zvt_term_unmap): Ditto.
1341        (zvt_term_focus_in): Ditto.
1342        (zvt_term_draw): Ditto.  Also use back_gc as the clearing
1343        mechanism.
1344        (zvt_term_expose): Ditto.  Also use fill to back_gc as the
1345        clearning mechanism for pixmap backgrounds.
1346        (zvt_term_show_pointer): Ditto.
1347        (zvt_term_hide_pointer): Ditto.
1348        (zvt_term_button_press): Ditto.
1349        (zvt_term_button_release): Ditto.
1350        (vt_draw_text): Ditto, plus a whole bunch of other messy changes!
1351        Render pixmaps differently, and use XDrawImageString() when we can
1352        for less X traffic.  Offset rendering by klass->width/height,etc.
1353        (vt_scroll_area): Ditto.  Account for scrolling pixmap offsets
1354        here.
1355        (load_background): Ditto.  General code cleanup.  Renamed from
1356        draw_back_pixmap.
1357
1358        * zvtterm.h: New options, ZVT_TERM_PIXMAPSCROLL_SUPPORT and
1359        ZVT_TERM_TRANSPARENCY_SUPPORT, indicating that the terminal can do
1360        transparency/scrolling pixmap.  Transparency support is calculated
1361        at run time.  These should be checked with a #ifdef for 1.0.x
1362        code.
1363        New flag options to set_background.
1364
1365        * update.c (vt_scroll_update): Significant changes.  The update
1366        algorithm now knows about scrolled/static backgrounds.  It uses
1367        this to try and optimise screen updates.
1368        (vt_update): A whole bunch of changes to accomodate the changes to
1369        the scroll_update.
1370        (vt_line_update): If we are in a scrolled-background mode, never
1371        let the background text match, since the background !=
1372        background.  This should be dependent on if we are updating a
1373        previously scrolled section or not?  Room for minor speedup.
1374        (vt_fix_selection): Removed some old dead code.
1375
13761999-05-31  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1377
1378        * zterm.c (main): Repaired the fucked-up indenting.
1379
1380        * vt.c (vt_erase_chars): Only erase 'n' characters, rather than
1381        from here+n to end of line.  I think i got that really wrong last
1382        time.
1383
13841999-05-29  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1385
1386        * vt.c (vt_tab): Set attributes for tab's too.
1387
13881999-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1389
1390        * gnome-login-support.c: Do not use ifdef (HAVE_STROPTS) but ifdef
1391        HAVE_STROPTS.  Thanks for Brandon for pointing this out.
1392
13931999-05-24  David KAELBLING <drk@sgi.com>
1394
1395        * vt.c (vt_func): Do not use un-initialized variable.
1396
1397        * gnome-login-support.c (pty_open_slave): Remove compilation
1398        warning.  Use ifdef XXX, not ifdef (XXX)
1399       
1400        * subshell.c (zvt_shutdown_subshell): Assign NULL to vt->pty_tag,
1401        do not compare it (it was a no-op).
1402
14031999-05-24  Raja R Harinath  <harinath@cs.umn.edu>
1404
1405        * Makefile.am (install-exec-local): Uses separate `chown root' and
1406        `chgrp root' rather than `chown root.root'.
1407
14081999-05-18  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1409
1410        * vt.c (vt_insert_lines): range check upper limit.
1411        (vt_delete_lines): Ditto.
1412        (vt_scroll_down): Ditto.
1413        (vt_scroll_up): Ditto.
1414        (vt_scrollback_add): Fixed more indenting.
1415        (vt_parse_vt): Force all arguments to be unsigned values (assumes
1416        2's complement storage).
1417
1418        * zvtterm.c (zvt_term_scroll): More indenting repair.
1419        (zvt_term_set_font_name): Ditto (etc for everything else i spot).
1420        Please use K&R style indenting if you make changes!
1421
1422        * TODO: Updated a bit.
1423
1424        * zvtterm.c (vt_draw_text): If a font is a 2-byte font, first
1425        expand it to an XChar2b array.  This will need to be changed so
1426        it accepts 16 bit characters by default (but is a bigger task!).
1427        Setting a -iso10464- (unicode) font should now at least render ok.
1428        (zvt_term_readdata): Repair the Jay-ded indenting.
1429        (zvt_term_readmsg): Ditto.
1430        (zvt_term_set_background): Ditto.
1431        (vt_draw_text): Ditto.
1432        (vt_scroll_area): Ditto.
1433
1434        * zvtterm.h (struct _zvtprivate): Added text16/text16len to
1435        zvtprivate - buffer for expanding 2-byte fonts.
1436
14371999-05-15  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1438
1439        * update.c (vt_line_update): Because some mental fonts use every
1440        pixel position we need to clear the next character pos after a
1441        bold font.  Just render this last blank character always to make
1442        sure.
1443        (vt_draw_selection): Dont draw anything if the selected area
1444        amounts to nothing, and it hasn't moved.
1445
14461999-05-10  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1447
1448        * zvtterm.c (zvt_term_destroy): Patch to clean up the timeout
1449        handler if it is still running, from Timo Sirainen
1450        <cras@fun157.kivikko.hoas.fi>.
1451
14521999-05-07  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1453
1454        * zvtterm.c (zvt_term_button_press): Use a better extend-select
1455        end-choosing method.  i.e. same as xterm.  If you click before the
1456        middle of the selection, it changes the start, otherwise it
1457        changes the end.
1458
1459        * update.c (vt_fix_selection): If selecting the first word of a
1460        line, 'by word', and it was 1 space from the left border, it would
1461        select that space too - no longer!.
1462
1463        * zvtterm.c (zvt_term_button_press): Remove the input handler for
1464        input_id when selecting text - i.e. block during selection.
1465        (zvt_term_button_release): re-enable input if it was removed, and
1466        the childfd exists.
1467        (zvt_term_button_release): Only allow dropping of button-release
1468        events if we're not selecting something (otherwise, select-drag,
1469        hold ctrl, and release - it doesn't!).
1470
1471Mon May 03 20:14:49 1999  George Lebl  <jirka@5z.com>
1472
1473        * zvtterm.c: change the way we draw the background for transparent
1474          images so that it works with tiled images (we assume every
1475          background is tiled which is not always the case, this can
1476          probably be fixed if anyone feels the need to do that, this
1477          should work good enough for most people:)
1478
1479Mon May 03 20:04:10 1999  George Lebl  <jirka@5z.com>
1480
1481        * zvtterm.c: removed an #if 0 from the _draw method as it is
1482          obviously there by mistake (if not then the code would need
1483          to be fixed for background pixmap/transparency stuff).
1484          Also fixed the code that clears the area to draw text on, now
1485          it properly draws pixmaps, while preserving the speed improvements
1486          made by michael for non-background terminals
1487
14881999-05-03  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1489
1490        * update.c (vt_expand_line): Fixed selection of single characters
1491        at the start of an otherwise empty line (bug#1168).
1492
14931999-04-24  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1494
1495        * vt.c (vt_newline): Make sure a new-line is initialised with an
1496        invalid line number.
1497        (vt_scrollback_add): Set the new line's line no to -1.
1498        (vt_resize): Set the line no's of lines that are no longer there
1499        to -1.
1500
1501        * zterm.c (size_allocate): Make sure we add the PADDING width to
1502        the size allocation of the terminal window when setting the window
1503        base width hint.  Hey it sizes right now!  Now just to fix
1504        gnome-terminal ...
1505        (main): Add \n to the end of usage info.
1506
1507        * zvtterm.c (vt_draw_text): Changed conditions under which the
1508        background is 'reset'.  Should speed up refresh under expose
1509        (since the screen is already cleared to the background colour).
1510        (zvt_term_key_press): Implementation of application keypad
1511        keycodes, from Kenn Humborg <kenn@avalon.wombat.ie>.
1512        (zvt_term_button_press): Clear the rendered selection upon a
1513        single-click.
1514        (zvt_term_size_allocate): Dont size the terminal if it hasn't
1515        changed.  Also, why set size_pending?  We just sized!
1516        (zvt_term_size_allocate): Make sure we remove the PADDING area off
1517        the size after we've sized it.
1518
15191999-04-15  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1520
1521        * vt.c (vt_scroll_up): Make sure vt->this_line is correct still
1522        after the scroll!
1523        (vt_scroll_down): And the same here.
1524
15251999-04-13  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1526
1527        * zvtterm.c (vt_draw_text): When drawing underline, dont go beyond
1528        our char boundaries.  I think this fixes the dot problems.  Thanks
1529        to Jesus Bravo Alvarez for this one.
1530        (zvt_term_set_fonts): No need to check that 'font' is NULL.  Its
1531        not allowed to be by the api, and the g_return* assertion prevents
1532        it from being called.
1533
15341999-04-10  Michael Fulbright  <msf@majestic.labs.redhat.com>
1535
1536        * zvtterm.c (zvt_term_size_allocate): set term->grid_[height/width]
1537        based on new geometry - seems to fix problem of terminal resizing
1538        back to old size when you hide/show menubar.
1539
15401999-04-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1541
1542        * gnome-pty-helper.c (open_ptys): First set the GID, and then the
1543        UID, since once the UID changes, you *might* not be able to change
1544        the GID. 
1545
1546        Thanks again to Morten for keeping such a good eye on our changes
1547        and code.
1548
15491999-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1550
1551        * gnome-pty-helper.c (init_msg_pass): Return a value.
1552
15531999-04-06  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
1554
1555        * update.c (vt_expand_line): declare c as unsigned so comparisions
1556        work. Should't zvt be using unsigned char all over the place to
1557        prevent things like this? By the way, this fixes bug #144.
1558
15591999-04-06  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>
1560
1561        * zvtterm.c (zvt_term_set_fonts): only gdk_font_ref() fonts if
1562        they are non-null in order to prevent some segfaults.
1563       
15641999-04-04  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1565
1566        * zvtterm.h: Changed capability bits to #define's so they can more
1567        easily be checked in new coder.
1568
1569        * zvtterm.c (zvt_term_get_capabilities): Set
1570        ZVT_TERM_EMBOLDEN_SUPPORT for this version of the terminal.
1571
1572        * zvtterm.h (enum): ZVT_TERM_EMBOLDEN_SUPPORT - can call set fonts with a
1573        NULL bold font to auto-generate bold effect.
1574
15751999-04-03  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
1576
1577        * update.c (vt_fix_selection): Make sure we only increment 'ex' if
1578        it equals 'sx' on the same line, otherwise 'ex' can creep.
1579
1580        * Merged in ZVT_XTERMNEW branch again, to pick up Miguel's
1581        stropts.h changes.
1582
15831999-04-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1584
1585        * gnome-login-support.c (pty_open_slave): Use the strams ioctls
1586        only if the system has <stropts.h> header files.
1587
15881999-04-02  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
1589
1590        * zvtterm.c (zvt_term_set_fonts_internal): Query the XFontStruct
1591        for the real font width, rather than picking 'width("M")' - might
1592        fix the bold artifacts problem.
1593        (zvt_term_set_fonts_internal): If no bold font is supplied, leave
1594        it NULL.
1595        (zvt_term_set_fonts): Allow a bold font to be null.
1596        (vt_draw_text): If there is no bold font set, then use
1597        over-striking to acheive the same result.
1598
1599        * subshell.h (zvt_shutdown_subshell, zvt_close_msgfd): Fixed
1600        header entries/removed for changes.
1601
1602        * vt.c (vt_closepty): Just calls zvt_shutdown_subshell() and
1603        returns the child exit status.
1604
1605        * subshell.c (zvt_shutdown_subshell): Moved all the shutdown
1606        functionality here, includeing parts of vt_closepty(), and
1607        zvt_close_msgfd().
1608        (zvt_close_msgfd): Removed, no longer needed.
1609
1610        * vt.c (vt_closepty): Do an explicit waitpid() on the child process.
1611        (vt_closepty): Dont set childfd==-1 before we see if it == keyfd.
1612
16131999-03-30  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
1614
1615        * vt.c (vt_keypadon): Set VTMODE_APP_KEYPAD in vt->mode.
1616        (vt_keypadoff): Clear " .
1617        (vt_scroll): Only set scroll region on state 2.
1618
1619        * vt.h (VTMODE_APP_KEYPAD): New flag to signal application keypad
1620        on.  Doesn't do anything yet.
1621
1622        * vt.c (vt_gotoabsy): \E[nd -> goto n-1 y position absolute.
1623        (vt_gotoabsx): \E[nG -> goto n-1 x position absolute.
1624        (vt_erase_char): Callback function - erase characters.
1625        (vt_erase_chars): Implement erase n characters.
1626
16271999-03-30  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1628
1629        * vt.c (vt_mode): Reset terminal attributes on '\E[27m'.
1630        (vt_parse_vt): Add new state 8 for '\E[!x' sequence.  Added
1631        '\E[!p' terminal reset.
1632        (vt_deccharmode): Add dumy callback for dec character mode stuff
1633        (wide/tall chars, etc).  '\E#n' sequences.
1634        (vt_jumps[]): Added '\E[nT' pan up.
1635        (vt_parse_vt): Added state 9, '\E[n'X' sequence.
1636
1637        * vt.h: Added integer argument array.  Its a union with the text
1638        argument space.  The old redundant text argument variables are
1639        still present, appended with _dummy - to be removed next major
1640        release.
1641
1642        * vt.c (vt_scroll_reverse): New function, implements reverse
1643        scroll sequence '\E[n^'.  For ISO-6429 (ECMA-48) standard.
1644        (vt_scroll_left): Scroll window left.
1645        (vt_scroll_right): Scroll window right.
1646        (vt_scroll_forward): Forward scroll - '\E[nS'.
1647        (vt_up): Implements scroll window right '\En A' for state==7.
1648        (vt_insert_char): Implements scroll window left '\E[n @' for state==7.
1649
1650        * update.c (vt_line_update): Implemented VTATTR_CONCEALED -
1651        concealed text.
1652
1653        * zterm.c (main): Default size = 24 lines.
1654
1655        * vt.c (vt_init): No longer setup vt->args pointers.
1656        (vt_insert_char): Changed to binary args in arg.num.intargs[]
1657        (vt_delete_char): Ditto.
1658        (vt_insert_line): Ditto.
1659        (vt_delete_line): Ditto, and check state in switch.
1660        (vt_cleareos): Ditto.
1661        (vt_clear_lineportion): Ditto.
1662        (vt_goto): Ditto.
1663        (vt_modeh): Ditto.  Also handle mulitple arguments.
1664        (vt_model): Ditto.  Also handle multiple arguments.
1665        (vt_modek): Ditto.
1666        (vt_mode): Ditto.
1667        (vt_gx_set): Ditto.
1668        (vt_dsr): Ditto.
1669        (vt_scroll): Ditto.  Also check that scrolltop<scrollbottom.
1670        (vt_func): Ditto!
1671        (vt_set_text): Changed to use string arguments union.
1672        (vt_parse_vt): A number of changes.  Added extra state '6', to
1673        handle \E[?nnn;nn;nY sequence.  All numerical arguments are now
1674        decoded as they are encountered.  Should be faster, and allows
1675        more arguments to functions (upto 20).  All control codes no
1676        longer reset vt->argcnt.  '\E]...' uses the arg.txt.args_mem area
1677        to store its strings.  '\EOx' sets intargs[0]=0 before calling
1678        callbacks.
1679
16801999-03-28 Luca Lizzeri <ll@niche.it>
1681
1682        * gnome-pty.c (write_login_record): Fixed a typo with extra ")".
1683
16841999-03-28 Timur Bakeyev <mc@bat.ru>
1685
1686        * gnome-pty.c (update_utmp): New function, which accumulates OS
1687        specific utmp-handling routines. Fixed a problem with BSD systems,
1688        introdused by previous patch.
1689        A bit different aproach for ut->ut_id and /dev/pts - original code
1690        by Michael Zucchi, just inserted. Keeps 4 chars for ut_id.
1691
16921999-03-27  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1693
1694        * vt.c (vt_mode): Patch from Matthijs Melchior to support extended
1695        foreground/background colours (the 'bright' set).  Also support
1696        un-setting render attributes individually.
1697
16981999-03-24  Erik Troan  <ewt@redhat.com>
1699
1700        * gnome-pty.c (write_logout_record): Before writing a utmp record,
1701        you need to reset the utmp file pointer (esp as we have multiple
1702        utmp entries per process). ut->ut_id was also being set to a string
1703        of 4 chars on /dev/pts systems, which makes the '\0' on the end
1704        overwrite ut_user -- use a 3 character string instead.
1705
1706        * gnome_pty_helper.c (open_ptys): Set effective user and group ids
1707        to real user and group before opening unix98 ptys (this forces the
1708        proper owner/group on the /dev/pts file
1709
17101999-03-21  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1711
1712        * vt.c (vt_delete_line): Changed to properly handle the difference
1713        between \EM and \E[M - it was checking the wrong thing for state.
1714
17151999-03-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1716
1717        * Makefile.am (libzvt_la_LDFLAGS): Updated library version number.
1718
17191999-03-18  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1720
1721        * -- MERGED IN ZVT_SCROLLSELECT BRANCH --
1722                No longer binary incompatible (thanks Miguel :)
1723                Framework for future extension similarly.
1724       
1725        * zvtterm.h (struct _zvtprivate): Created new structure for
1726        private data.x
1727
1728        * zvtterm.c (zvt_term_init): Changed to use "_zvtprivate" data for
1729        scrollselect info.
1730        (zvt_term_button_press): Ditto.
1731        (zvt_term_button_release): Ditto.
1732        (zvt_selectscroll): Ditto.
1733        (zvt_term_motion_notify): Ditto.
1734        (zvt_term_scrollbar_moved): Ditto.
1735        (zvt_term_destroy): Free zvtprivate data on destroy.  Do the input
1736        handlers need destorying?
1737        (zvt_term_init): Setup zvtprivate data on create.
1738
1739        * zvtterm.h: Added prototype for zvt_term_reset().
1740
1741        * zvtterm.c (zvt_term_reset): New function - external API to
1742        vt_reset_terminal().
1743
1744        * vt.c (vt_reset): Removed terminal reset code into
1745        vt_reset_terminal().
1746
1747        * vt.h: Added prototype for vt_reset_terminal().
1748
1749        * vt.c (vt_reset_terminal): New function - soft(hard) reset of
1750        terminal.
1751
17521999-02-28  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1753
1754        * zvtterm.c (zvt_term_selection_clear): Changed header so it isn't
1755        auto-documented.
1756        (zvt_term_bell): Same.
1757        (zvt_term_set_size): Add documentation.
1758
17591999-02-26  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1760
1761        * vt.h: Include unistd.h, for pid_t.
1762
17631999-03-18  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1764
1765        * zterm.c (main): Catch "destroy" signal to die on.
1766
1767        * zvtterm.c (zvt_term_closepty): Revert yesterdays' changes.  As
1768        suggested by ewt, catch for "destroy" signal to detect end of life
1769        from window system.
1770
17711999-03-17  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1772
1773        * zvtterm.c (zvt_term_closepty): Make sure we raise a "child_died"
1774        when the child is being terminated (and it existed).  SIGCHLD just
1775        wont raise it, because after this point it no longer exists (in
1776        the 'children' list, see subshell.c).
1777
17781999-03-16  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1779
1780        * zvtterm.c (zvt_term_key_press): Changed all cursor keys to send
1781        \E[x, rather than \EOx.  Hell I dont know how this ever worked
1782        really.
1783        (vt_scroll_area): Scroll based on terminal width (as terminal
1784        height is done), rather than on size of border window - border
1785        width.  Also properly handle PADDING setting and border width.
1786        (zvt_term_key_press): Honour VTMODE_APP_CURSOR when outputting
1787        cursor keys.
1788
17891999-03-12  Richard Hult <rhult@hem2.passagen.se>
1790
1791        * zvtterm.c (zvt_term_scroll_by_lines): New internal function.
1792        (zvt_term_button_press): Add support for mouse wheel.
1793
17941999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1795
1796        * subshell.c (get_ptys): Set close on exec flag for our pipes.
1797        Otherwise we end up sharing these descriptors with sub-processes,
1798        and thus gnome-pty-helper wont notice when we are gone until the
1799        shells are killed.
1800
18011999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1802
1803        * zvtterm.c (zvt_term_key_press): Add support for SHIFT-INSERT to
1804        mean paste.
1805        (request_paste): New routine, used in two spots now.
1806
1807        * subshell.c (zvt_init_subshell): Also reset SIGPIPE.
1808
18091999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1810
1811        * subshell.c (zvt_init_subshell): Put the stuff on the right branch.
1812        * (zvt_init_subshell): Reset the child signal handlers
1813        to SIG_DFL and the job-control signals to SIG_IGN (to let subshell
1814        set those up by itself).
1815
18161999-02-25  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1817
1818        * vt.c (vt_tab): Check for cursorx=width, and dont tab (unless
1819        wrap is on).  Also, after tabbing cursor, if cursox=width, then
1820        dont linefeed.  Handle wrap mode properly(?)
1821        (vt_clear_line_portion): Range check input.
1822        (vt_restore_cursor): Allow cursorx to be width.
1823
1824        * update.c (vt_draw_cursor): It is possible to for the cursorx
1825        value to be 'off' the right hand edge of the screen by 1 character
1826        outside of internal updates.  Dont draw the cursor in this case
1827        (should fix mc rh-border glitch).  Wasn't pure afterall :)
1828
18291999-02-24  Timur Bakeyev <mc@bat.ru>
1830
1831        * gnome-utmp.c (write_logout_record): Fix for Linux systems and partly,
1832        for Solaris.
1833
18341999-02-25  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1835
1836        * vt.c (vt_delete_chars): Make sure delete character is blank.
1837        (vt_delete_chars): Range check input value to width of line.
1838        (vt_insert_chars): Ditto.
1839
1840Thu Feb 25 03:47:44 1999  Timur Bakeyev <mc@bat.ru>
1841
1842        * gnome-pty.h, gnome-utmp.c: Added function write_login_record as
1843        opposit to write_logout_record.
1844
1845        Design rewritten. Supposed, should work on all platforms.
1846
18471999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1848
1849        * vt.c (vt_set_screen): Removed call to vt_clear_lines here, as
1850        the page flipping should not clear the screen.
1851        (vt_restore_cursor): Do not restore the alternate screen when
1852        issueing this command.
1853        (vt_set_screen): Made the code clearer in the screen switching part.
1854
18551999-02-24  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1856
1857        * zvtterm.c (zvt_term_button_press): Same as below fix for
1858        triple-click.  Otherwise hightlighted text wont actually be
1859        selected if the mouse isn't dragged.
1860
18611999-02-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1862
1863        * zvtterm.c (zvt_term_button_press): Consider double-click as
1864        VT_SELTYPE_MOVED.  Closes critical bug report 315.
1865
18661999-02-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1867
1868        These fixes are from Chris Evans audit on gnome-pty-helper.
1869       
1870        * gnome-utmp.c (update_dbs): Add check for malloc return value
1871        here.
1872        (update_dbs): 0-terminate ut->ut_host.
1873
1874        * gnome-pty-helper.c (open_ptys): Check for alloca return value.
1875        (pty_add): Call memset after we check the value returned from
1876        malloc.
1877        (pty_add): Check for return value of strdup.
1878
1879        * gnome-pty-helper.c (sanity_checks): We were checking if stdin
1880        was open twice instead of testing stdin and stdout
1881
18821999-02-23  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1883
1884        * vt.c (vt_parse_vt): Dont process more than VTPARAM_MAXARGS
1885        parameters for all cases.
1886        (vt_parse_vt): Make sure vt->argcnt is set on invocation of
1887        callbacks.
1888
18891999-02-22  Elliot Lee  <sopwith@redhat.com>
1890
1891        * zvtterm.c: Translate \n -> \r when pasting (fixes
1892        pastes with newlines in them).
1893
18941999-02-21  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
1895
1896        * Makefile.am (zterm_LDADD): Use libzvt.la without the path from
1897        the topdir so that AM_MAKEFLAGS=-j4 works.
1898
18991999-02-21  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
1900
1901        * vt.c (vt_resize): If we remove lines from the top of the buffer,
1902        then make sure we also move the cursor up (but not beyond the top
1903        of the screen).
1904        (vt_resize): If we have reduced the size of the scrollback buffer
1905        below the current displayed area, then make sure we reduce the
1906        offset.
1907
19081999-02-18  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1909
1910        * vt.c (vt_scroll_up): Apply CLEARMASK to blank character (and
1911        then actually use it).
1912        (vt_scroll_down): Apply CLEARMASK to blank character.
1913        (vt_delete_chars): When deleting characters, extend the attributes
1914        from the end of the line (dont apply the latest attributes!).
1915        (vt_insert_lines): Apply CLEARMASK to blank character.
1916        (vt_delete_lines): Ditto.
1917        (vt_clear_line_portion): Ditto.
1918        (vt_newline): Ditto!
1919        (vt_resize): Ditto (for vt_resize_lines calls).
1920        (vt_insert_chars): Ditto for inserting blanks.
1921
1922        * vt.h (VTATTR_CLEARMASK): Mask to apply to the attributes to
1923        generate a 'clear' character.
1924
1925Thu Feb 18 03:29:00 1999  Timur Bakeyev <mc@bat.ru>
1926
1927        * gnome-utmp.c: Re-arrange source, so (suppose) it compilable on
1928        both SVR and BSD. Everything #ifdef'ed. Removed dependences from
1929        USE_SYSV_UTMP macro. Add update_utmp() function for BSD systems.
1930       
1931        * gnome-pty.h: Remove USE_SYSV_UTMP macro.
1932       
1933        * gnome-login-support.h: Add declarations from libutil.h for BSDI,
1934        which has libutil.a, but not .h :(
1935       
1936        * gnome-pty-helper.c: Add casting to caddr_t for msg_control to avoid
1937        warnings.
1938       
1939        * Makefile.am: Added $(UTIL_LIBS) to zvt dependences.
1940       
1941        * test-utmp.c: Now it does login/logout.
1942
19431999-02-18  Michael Zucchi  <mzucchi@denr.sa.gov.au>
1944
1945        * zterm.c (main): Added bad argument/-h usage instructions, and
1946        'r' option to put the scrollbar on the right (changed the default
1947        to left!).
1948
1949        * zvtterm.c (zvt_term_motion_notify): Record when selecting mouse
1950        has moved.
1951        (zvt_term_button_press): Make sure we fix selection/update if it
1952        is only a single click.
1953
1954        * vtx.h (VT_SELTYPE_MOVED): Flag to indicate mouse has moved.
1955
1956        * zvtterm.c (zvt_term_button_release): Dont select anything if the
1957        mouse hasn't moved.
1958        (zvt_term_button_press): Dont re-render selection yet.
1959
19601999-02-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1961
1962        * zvtterm.c (zvt_term_size_allocate): Do not remove the PADDING
1963        here.  I need to figure out where the grid step information is
1964        passed ot the Window Manager.
1965
1966Wed Feb 17 12:20:21 1999  Maciej Stachowiak  <mstachow@alum.mit.edu>
1967
1968        * gnome-login-support.c (login_tty): Replace an #elsif with an
1969        #else in the fix below. D'oh!
1970
1971        * gnome-login-support.c (login_tty): On SVR4 systems, make sure to
1972        allocate a controlling terminal. Since the right way to do this is
1973        simply to open a terminal after calling setsid(), but we already
1974        have it open at that point, reopen it and then close it.
1975       
19761999-02-14  Tomas Ogren  <stric@ing.umu.se>
1977
1978        * zvtterm.c: Fixed a tyop in the docs
1979
1980Sat Feb 13 01:47:41 PST 1999 <jpaint@serv.net>
1981
1982        * zvtterm.c: don't draw if the zvtterm widget is not
1983        drawable.
1984
19851999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1986
1987        * subshell.c (zvt_close_msgfd): Implement with GList.
1988        (sigchld_handler): Do not reset the child->pid here to zero, or
1989        there wont be a way to eliminate this child from the list, and
1990        thus waitpid test will get hossed.
1991
1992        * gnome-pty-helper.c (sanity_checks): Ignore SIGINT.
1993        (shutdown_pty): record logout.  Keep track of the utmp/wtmp
1994        updating.
1995
1996        * subshell.c: Add support for split utmp/wtmp recording.
1997
1998        * zterm.c: log everything by default.
1999
20001999-02-09  Michael Zucchi  <zucchi@zzedzone.mmc.com.au>
2001
2002        * zvtterm.c (zvt_term_set_blink): Remap true state to 1, false to
2003        0, so XOR test works.
2004
20051999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2006
2007        * subshell.c    (receive_fd): Remove the getmsg usage, this was really broken.
2008        (s_pipe): Split the creation of the pipe mechanism.
2009        In SVR4 use pipe, on BSD use socketpair.
2010
2011        * vt.c (vt_restore_cursor): Only restore the cursor modes (this
2012        does not include cursor tracking).
2013
2014        * zvtterm.c (zvt_term_size_request): I do not think the code for
2015        set_grid_size_pending is working as it should.  If you send
2016        another size_allocate, it will get the broken 8/2 defaults.  This
2017        fixes gnome-terminal starting up in 8x2
2018
20191999-02-06  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
2020
2021        * update.c (vt_set_wordclass): Fix loop end condition so it
2022        doesn't drop last of a range, or single characters.
2023
2024        * zterm.c (main): Set word selection class so it will get url's ok.
2025        * zterm.c (main): Use the zvt_term_new_with_size function to
2026        create the widget.
2027
2028        * vt.c (vt_modeh): Set relative cursor mode.
2029        (vt_model): Remove relative cursor mode.
2030        (vt_gotoxy): goto position based on args.
2031        (vt_goto): Handle relative origin mode for goto.
2032        (vt_scroll): Reset cursor position when origin/size changed.
2033
2034        * vt.c: Added ESC[x;xf "horizontal and vertical position" command.
2035        For ESCD do cursor down (IND), not ignore.
2036        (vt_parse_vt): Store state back into vt->state so callbacks know
2037        where they were called from.
2038        (vt_nl): Support ESCE for "next line" function.
2039        (vt_left): Always cursor left, at least 1.
2040        (vt_right): Always cursor right, at least 1.
2041        (vt_parse_vt): In state ESC[xxxY, handle embedded control codes by
2042        executing them.
2043        (vt_parse_vt): Support linewrap mode on/off.
2044        (vt_modeh): Support linewrap setting ESC?7h
2045        (vt_model): Support linewrap setting ESC?7l
2046        (vt_restore_cursor): Restore mode/attributes and character set as
2047        well as position.
2048        (vt_save_cursor): Save mode/attributes and character set as well
2049        as position.
2050
20511999-02-06  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
2052
2053        * zvtterm.c (zvt_term_set_wordclass): User API call to set the
2054        character class for words.
2055
2056        * update.c (vt_set_wordclass): New function, sets the bitmap used
2057        to lookup word classes.
2058        (vt_in_wordclass): Now uses a bitmap (in the vtx structure) to
2059        determine which characters are part of a word.
2060        (vtx_new): Initialise the wordclass to alphanumerics + "_".
2061
2062        * zvtterm.c (zvt_term_size_request): Set the minimum grid size to
2063        8x2.  1x1 is useless.
2064
2065        * zterm.c (main): I want a blinking cursor, who changed it? :P
2066
2067        * zvtterm.c (zvt_term_init): Changed default init size to 80x24.
2068        This doesn't change the resize behaviour.
2069        (zvt_term_new): Changed the description to more accurately reflect
2070        the inital size behaviour.
2071        (zvt_term_size_request): Change sense of grid_width/height test -
2072        to make sure its not negative or 0.  Properly reset the
2073        set_grid_size_pending flag off.
2074        (zvt_term_set_font_name): Removed redundant "cleanup" label.  Why
2075        is everything reformatted wrong?
2076
2077        * update.c (vt_get_selection): Fixed calling vt_get_selection, so
2078        a null *len is allowed.
2079
2080        * zvtterm.c (zvt_term_get_buffer): Update the documentation to
2081        reflect the change from malloc/free to g_malloc/g_free.
2082        (zvt_term_get_buffer): Do not set vx->selection_size when
2083        returning the buffer contents.
2084        (zvt_term_button_release): Removed useless 'len' argument to
2085        vt_get_selection().  The api was int anyway, not gint.
2086
2087        * update.c: Changed to else/if when comparing line lengths.  More
2088        obvious that only one case will be executed (and hence memory wont
2089        be lost).
2090        Removed goto.
2091        Removed g_malloc()/g_free() of runbuffer.  Now statically
2092        allocated, but grown if need be.
2093        (vtx_new): Set runbuffer/runbuffer_size on init.
2094        (vtx_destroy): Free runbuffer on destroy.
2095
2096        * zvtterm.h(zvt_term_new_with_size): New allocate-with-size api
2097        call.
2098
2099Thu Feb  4 16:34:03 1999  Owen Taylor  <otaylor@redhat.com>
2100
2101        * vt.c (vt_mode): Add support for ESC[39m and ESC[49m
2102        to reset foreground and background colors respectivly.
2103        (Supported by Linux console and xterm among others)
2104
21051999-02-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2106
2107        * zvtterm.c (zvt_term_init): Set shadow to none.  We should kill
2108        this code, as it broke my hack to add the extra padding to make
2109        the terminals readable.
2110
2111        Use PADDING bytes on the left as well to work as a padding region
2112        (zvt_term_draw): Check against GTK_SHADOW_NONE
2113        (zvt_term_expose): ditto.
2114
21151999-01-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2116
2117        * subshell-includes.h (_XOPEN_SOURCE): Define as 1, not as nothing.
2118
21191999-01-17  Jeff Garzik <jgarzik@pobox.com>
2120
2121        * zterm.c:
2122        s/gtk_container_border_width/gtk_container_set_border_width/
2123
21241999-59-15  Erik Troan  <ewt@redhat.com>
2125
2126        * subshell.c, vt.h, vt.c: Use a separate keyfd for relaying
2127        keystrokes. Normally this is identical to childfd, but this
2128        allows the applications to abitrarily filter keystrokes before
2129        they get to the application.
2130
21311999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2132
2133        * gnome-pty-helper.c: Only define _XOPEN_SOURCE in IRIX>
2134
21351998-01-09  Jeff Garzik  <jgarzik@pobox.com>
2136
2137        * subshell-includes.h, gnome-pty-helper.c:
2138        Terminate some #if's.
2139
21401999-01-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2141
2142        * subshell-includes.h: Provide the same header files as the
2143        gnome-pty-helper to address the compilation problems on AIX.
2144
2145        * gnome-login-support.c: Use termios.h, not sys/termios.h
2146
2147        * gnome-pty-helper.c (path_max): PATH_MAX support for various
2148        fashions of operating systems
2149
21501999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2151
2152        * subshell.c: Removed the defines that make gcc -ansi -pedantic
2153        works as it breaks compilation on FreeBSD.
2154
2155        * gnome-pty-helper.c: Ditto.
2156
2157        * gnome-pty-helper.c (pty_remove): Return here instead of
2158        continuing (this was causing pty-helper to die prematurely).
2159
21601999-01-03  Jay Painter <jpaint@serv.net>
2161
2162        * zvtterm.c: removed ifdefs so building without background pixmap
2163        support is no longer a option; cleaned up the flickering a little
2164        with scrolling when we have a background pixmap.
2165
21661999-01-03  Jay Painter <jpaint@serv.net>
2167
2168        * zvtterm.c, zvtterm.h: more widget cleanup, rearranged structure
2169        to take up less memory by putting all the bitfields at the end of
2170        the zvtterm structure (and breaking binary compatibility); fixed
2171        a bunch of memory leads caused by not unref(ing) fonts, objects.
2172
21731999-01-03  Jay Painter <jpaint@serv.net>
2174
2175        * zterm.c: made the test program work better by properly duplicating
2176        and setting up the environment for the forked pty.
2177
2178        * vt.c: fixed a resizing behavior so that the current line will
2179        not get moved up into the scrolling buffer; instead, it will
2180        destroy lines from the bottom of the terminal once it hits the
2181        current line when moving top lines into the scrollback area.
2182
21831999-01-02  Jay Painter <jpaint@serv.net>
2184
2185        * vt.h, vt.c, update.c, zvtterm.c: fixed multiple buffer overruns
2186        thanks to electric fence.  Changed default color of terminal to
2187        black on white.
2188
2189        * zterm.c: changed widget packing, and main window size hints to
2190        accureately reflect terminal grid size.
2191
21921999-01-02  Jeff Garzik  <jgarzik@pobox.com>
2193
2194        * gnome-pty-helper.c, subshell.c,
2195          zterm.c, zvtterm.c:
2196        Include _xxx_SOURCE defines for 'gcc -ansi -pedantic'
2197
2198        * gnome-pty.h:
2199        removed global var login_name not referenced anywhere.
2200        removed unnecessary comma.
2201
2202        * gnome-pty-helper.c: include autoconf alloca incantation
2203       
22041998-12-31  Jay Painter <jpaint@serv.net>
2205
2206        * zvtterm.c, vtx.h, update.c: changed the way the zvtterm
2207        widget preforms size requests to be more consistant with the
2208        way other GTK+ widgets do -- that is, they only request their
2209        minimum allocation size and let their parents allocate more.
2210        Unfortunately, this scheme doesn't work well for a terminal
2211        widget because it's hard for the parent widgets to know exactly
2212        how much to allocate; therefore, there is an additional API for
2213        setting the terminal grid size (zvt_term_set_size) which will
2214        preform a widget resize to the appropriate grid dimentions.
2215       
22161998-12-30  Jay Painter <jpaint@serv.net>
2217
2218        * zvtterm.c: fixed "unterminated macro 1511" syntax error
2219        that I didn't catch during my last merge.
2220
22211998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2222
2223        * vt.c (vt_tab): Ok, use the VTATTR_CLEAR for tabs, not just
2224        "no-attributes".  This fixes the tab problem with other colors.
2225        Thanks to Jay for pointing this out.
2226       
22271998-12-30  Jay Painter <jpaint@serv.net>
2228
2229        * memory.[ch]: removed!  replaced with glib g_malloc, g_free
2230        and friends; this is for code clarty and to also fix a nasty
2231        bug that tried to free un-allocated memory when you resized
2232        while scrolled up.
2233
2234        * vt.c, update.c: g_memory stuff all the way; removed all calls
2235        to alloca;
2236
2237        * zvtterm.c: just some formatting changes here and there
2238
22391998-12-29  Jay Painter <jpaint@serv.net>
2240
2241        * zvtterm.[ch]: massive reformatting, added many meaningful
2242        asserts, added gtk_widget_queue_resizes after font changes and
2243        maybe in another place or two; added framework for getting this
2244        widget to size itself like a normal GTK+ widget, but I havn't
2245        implimented it yet.  Replaced the alloca string allocations with
2246        GString(s) because if I remember right once you've increased your
2247        stack frame size, all stack frames called under it are at least
2248        that size -- but then I could also be on drugs.  I probably did
2249        somthing else too...
2250
22511998-12-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2252
2253        * zvtterm.c (draw_back_pixmap): Do not reset the _tile to the
2254        previous value.  We probably do not care, as we have reset the
2255        fill style anyways (and tile only makes sense if the fill is set
2256        to GDK_TILED).
2257       
2258        (zvt_term_get_capabilities): Only allow the pixmap settings to
2259        take effect if the visuals are compatible.
2260       
2261        (zvt_term_set_background): Even if we have support, make sure we
2262        do not acknowledge any calls if _capabilities does not allow us to
2263        use it.
2264
2265        Do not know why XSetTile does not accept a NULL pixmap though to
2266        reset this value.
2267
2268        * vt.c (vt_tab): Fix for the tab problem reported by Alan.  It
2269        happens that tabs are transparent regarding attributes.
2270
2271Wed Dec 16 16:52:53 1998  Owen Taylor  <otaylor@redhat.com>
2272
2273        * zvtterm.c (zvt_term_init): Initialize timeout_id to -1.
2274
22751998-12-31  Jay Painter <jpaint@serv.net>
2276
2277        * zvtterm.c, vtx.h, update.c: changed the way the zvtterm
2278        widget preforms size requests to be more consistant with the
2279        way other GTK+ widgets do -- that is, they only request their
2280        minimum allocation size and let their parents allocate more.
2281        Unfortunately, this scheme doesn't work well for a terminal
2282        widget because it's hard for the parent widgets to know exactly
2283        how much to allocate; therefore, there is an additional API for
2284        setting the terminal grid size (zvt_term_set_size) which will
2285        preform a widget resize to the appropriate grid dimentions.
2286
22871998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2288
2289        * gnome-pty-helper.c (open_ptys): Use pathmax, as the sysconfig
2290        tty size does not include the whole pathname.
2291
2292        * vt.c (vt_tab): Ok, use the VTATTR_CLEAR for tabs, not just
2293        "no-attributes".  This fixes the tab problem with other colors.
2294        Thanks to Jay for pointing this out.
2295
22961998-12-30  Jay Painter <jpaint@serv.net>
2297
2298        * memory.[ch]: removed!  replaced with glib g_malloc, g_free
2299        and friends; this is for code clarty and to also fix a nasty
2300        bug that tried to free un-allocated memory when you resized
2301        while scrolled up.
2302
2303        * vt.c, update.c: g_memory stuff all the way; removed all calls
2304        to alloca;
2305
2306        * zvtterm.c: just some formatting changes here and there
2307
23081998-12-29  Jay Painter <jpaint@serv.net>
2309
2310        * zvtterm.[ch]: massive reformatting, added many meaningful
2311        asserts, added gtk_widget_queue_resizes after font changes and
2312        maybe in another place or two; added framework for getting this
2313        widget to size itself like a normal GTK+ widget, but I havn't
2314        implimented it yet.  Replaced the alloca string allocations with
2315        GString(s) because if I remember right once you've increased your
2316        stack frame size, all stack frames called under it are at least
2317        that size -- but then I could also be on drugs.  I probably did
2318        somthing else too...
2319
23201998-12-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2321
2322        * zvtterm.c (draw_back_pixmap): Do not reset the _tile to the
2323        previous value.  We probably do not care, as we have reset the
2324        fill style anyways (and tile only makes sense if the fill is set
2325        to GDK_TILED).
2326       
2327        (zvt_term_get_capabilities): Only allow the pixmap settings to
2328        take effect if the visuals are compatible.
2329       
2330        (zvt_term_set_background): Even if we have support, make sure we
2331        do not acknowledge any calls if _capabilities does not allow us to
2332        use it.
2333
2334        Do not know why XSetTile does not accept a NULL pixmap though to
2335        reset this value.
2336
2337        * vt.c (vt_tab): Fix for the tab problem reported by Alan.  It
2338        happens that tabs are transparent regarding attributes.
2339
2340Wed Dec 16 16:52:53 1998  Owen Taylor  <otaylor@redhat.com>
2341
2342        * zvtterm.c (zvt_term_init): Initialize timeout_id to -1.
2343
23441998-12-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2345
2346        * update.c (vt_get_selection): Fixed the paste problems.  We need
2347        to set the selection_size when we set the selection
2348        (vt_in_wordclass): Punctuation characters are not in wordclass
2349
2350Wed Dec  9 05:39:05 PST 1998 Manish Singh <yosh@gimp.org>
2351
2352        * zvtterm.[ch]: fix for IC changes in new gtk. It compiles,
2353        and zterm works, someone want to verify it is correctly fixed?
2354
23551998-12-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2356
2357        * gnome-pty-helper.c (sanity_checks): Figure out if file
2358        descriptor 2 is valid, if not, then try using /dev/tty and
2359        /dev/null as replacements.
2360        (sanity_checks): Verify that descriptors 0 and 1 are valid.
2361
23621998-12-05  Havoc Pennington  <hp@pobox.com>
2363
2364        * vt.h: Change name of "this" member to "this_line," so C++
2365        doesn't puke. Add extern "C" stuff.
2366        * vt.c: reflect change throughout
2367        * update.c: same
2368        * vtx.h: extern "C"
2369       
23701998-12-05  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
2371
2372        * zvtterm.c (zvt_term_get_buffer): New api function.  Returns a
2373        malloc'd block of memory containing buffer/scrollback contents as
2374        a sequence of bytes.
2375
2376        * update.c (vt_select_block): New function, returns a malloc'd
2377        block of memory containing the scrollback contents.
2378        (vt_get_selection): Moved most of the code into vt_select_block.
2379
2380Fri Dec  4 16:45:11 1998  Manish Vachharajani <mvachhar@vger.rutgers.edu>
2381
2382        * gnome-pty-helper.c: Don't bail out if we can't open /dev/tty.
2383        Seems to cause problems.
2384       
2385Wed Dec 02 03:16:07 1998  George Lebl  <jirka@5z.com>
2386
2387        * zvtterm.c: (vt_scroll_area) check for background pixmap in
2388        addition to transparency to do the cheap ass scrolling hack by
2389        repainting the entire window
2390
2391Sun Nov 29 02:59:32 1998  George Lebl  <jirka@5z.com>
2392
2393        * zvterm.[ch]: added function zvt_term_get_capabilities, which
2394          returns the bitmask of capabilities supported by the zvt widget
2395          right now, this is only the pixmap support, which is
2396          ZVT_TERM_PIXMAP_SUPPORT
2397
23981998-11-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2399
2400        * subshell.c (get_ptys): Use n_read, just like gnome-pty-helper.
2401
2402        * gnome-pty-helper.c (main): Deal properly with read().  read
2403        might return -1/EINTR for an interrupted system call.  read might
2404        return less bytes than requested and read might return 0 on eof.
2405
2406        * gnome-login-support.c (n_read): New utility routine to deal with
2407        all of the read () system calls details.
2408       
2409        * subshell.c (zvt_init_subshell): Init SIGCHLD before the first
2410        fork.
2411
2412        * gnome-pty-helper.c: Duh.  Test was wrong.  Relaxed limits.
2413
2414        * zvtterm.c (zvt_term_title_changed_raise): Fix prototype.
2415
2416        * gnome-pty-helper.c (sanity_checks): New routine takes care of
2417        making sure environment is sane for running a suid program.
2418        Thanks to Pavel Kankovsky for providing sample code for resource
2419        checks and signal checks.
2420       
2421        (main): Check for open return value.  Thanks
2422        to Pavel Kankovsky again for pointing this out.
2423
24241998-11-26  Jeff Garzik  <jgarzik@pobox.com>
2425
2426        * vt.c, zterm.c, zvtterm.c:
2427        Replaced sprintf calls with g_snprintf.
2428        Updated a couple hardcoded length values to instead of sizeof().
2429
24301998-11-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2431
2432        The following changes have been implemented after the comments
2433        from Pavel Kankovsky (peak@kerberos.troja.mff.cuni.cz) who audited
2434        the gnome-pty-helper code.
2435
2436        Now I understand why Theo says that most of us mere programmers
2437        do not get properly aquainted with the proper Unix system call API.
2438       
2439        * gnome-login-support.c (pty_open_slave_bsd): Set the owner and
2440        group even if getgrnam fails due to a low memory condition on the system
2441
2442        * gnome-pty-helper.c: Make the pty_info->line information be a
2443        character pointer instead of a static array.
2444        (pty_add, pty_remove): fix accordingly.
2445       
2446        (open_ptys): Size the array passed to openpty correctly: use
2447        sysconf (_SC_TTY_NAME_MAX) if available or PATH_MAX otherwise.
2448
2449        dup2() might fail with EINTR, handle this case.
2450
2451        A couple of extra problems still remain, will fix those tomorrow.
2452       
24531998-11-23  Jay Painter <jpaint@serv.net>
2454
2455        * zvtterm.c: added zvt_term_map & zvt_term_unmap so that the
2456        terminal and its subwindows are mapped/unmapped properly.
2457
24581998-11-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2459
2460        * gnome-pty.h (USE_SYSV_UTMP): Define USE_SYSV_UTMP in the shared
2461        header file
2462
2463        * subshell.c (zvt_shutdown_subshell): Duh, I was missing the tag
2464        write.  Protocol fixed.  This should fix gnome-terminal for everyone.
2465
2466        * zvtterm.c (zvt_term_bell): Fix prototype.
2467
24681998-11-22  Jay Painter <jpaint@serv.net>
2469
2470        * zvtterm.c: widget now creates a separate term_window for the
2471        terminal window.  This is sized inside of the widget->window
2472        so that the terminal widget has a relieved border.  I also
2473        cleaned up a couple of leaks and moved some stuff from the
2474        _destroy method into the _unrealize method.  Sorry Michael,
2475        I tried to e-mail you before this commit but the mail bounced!
2476
24771998-11-21  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2478
2479        * zterm.c: Made window global.
2480
2481        * zvtterm.c (zvt_term_get_bell): Fixed return if fail to be return
2482        val if fail.  Personally I can't imagine where you would ever need
2483        this function.
2484        (zvt_term_title_changed_raise): Function to actually raise the
2485        signal, when we get called by the terminal.
2486
2487        * zvtterm.h: Fix zvt_term_bell prototype.
2488
2489        * vt.c (vt_bell): Changed to call callback with user_data.
2490        vt.c: include <string.h> for strchr prototype.
2491
2492        * zvtterm.c (zvt_term_bell): Changed prototype/callback to supply
2493        user-data (i.e. the widget pointer).
2494
2495        * zterm.c (main): Add support for title_changed event callback.
2496        (title_changed_event): Set titles based on title_changed event.
2497
2498        * vt.c (vt_init): Init change_my_name and user_data to NULL.
2499        (vt_set_text): Handle callbacks for setting titles.
2500
2501        * update.c: Fixed vx->user_data references.
2502
2503        * vtx.h: Removed user_data from struct _vtx.  Avoid duplication.
2504        Fixed all references.
2505
2506        * vt.h: Added change_my_name callback, for title changes.  Added
2507        user_data field (to be removed from vtx).
2508
2509        * zvtterm.c (zvt_term_title_changed): Dummy handler for
2510        title_changed signal.
2511       
2512        * zvtterm.h (struct _ZvtTermClass): Added title_changed callback.
2513
2514        * zvtterm.c (zvt_term_class_init): Added "title_changed" signal.
2515
25161998-11-20  Manish Vachharajani <mvachhar@vger.rutgers.edu>
2517
2518        * zvtterm.h:
2519        * zvtterm.c: Added zvt_term_get_bell function
2520       
25211998-11-19  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2522
2523        * zvtterm.c (vt_hightlight_block): Removed.  Function not used
2524        anymore.
2525
25261998-11-18  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2527
2528        * zvtterm.c (zvt_term_selection_received): Only scroll to bottom
2529        if scroll on keystroke is set, now that it should be safe to do
2530        so.
2531
2532        * vt.c (vt_scrollback_add): Properly adjust scrollbackoffset and
2533        scrollbackold if extra data is added to the scrollback, and
2534        scrollback is 'active' (scrollbackoffset != 0).
2535
2536        * update.c (vt_update): Handle edge condition when scanning
2537        backwards at edge of scrollback/real buffers properly.
2538
2539        * vt.c (vt_scrollback_add): Force a newly added scrollback line to
2540        slot into the right sequence if scrollback is active.  This should
2541        fix scrolling output when viewing scrollback.  Only 3 @#$@ hours
2542        later.
2543
2544        * zvtterm.c (zvt_term_bell): Definition of function.
2545        (zvt_term_init): Set the new ring_my_bell pointer callback.
2546        (zvt_term_set_bell): New function.  Sets ring_my_bell or clears it
2547        depending on the requested state.
2548
2549        * zvtterm.h (zvt_term_bell): New external function to beep in a
2550        terminal-way.
2551
2552        * vt.c (vt_bell): Use the new ring_my_bell callback if it is set.
2553        (vt_init): Set ring_my_bell to NULL on initialisation.
2554
2555        * vt.h (ring_my_bell): callback function for bell ringers.
2556
25571998-11-17  Martin Baulig  <martin@home-of-linux.org>
2558
2559        * gnome-pty-helper.c, test-utmp.c (update_dgs): Only call this
2560        function if USE_SYSV_UTMP is defined.
2561
2562        [NOTE: This is only some kind of hack since we define this
2563        function conditionally to USE_SYSV_UTMP in gnome-utmp.c.]
2564
25651998-11-16  Walter Mueller <walt@pi4.informatik.uni-mannheim.de>
2566
2567        * gnome-utmp.c (write_logout_record): Changes for Solaris compilation.
2568
25691998-11-15  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2570
2571        * zvtterm.c (zvt_term_selection_received): Always scroll to bottom
2572        on non-empty paste.  This 'hides' a bug where the screen list can
2573        get corrupt.  Not sure if its in the parser or the update code.
2574
2575        * vt.c (vt_dump): Replaced coded constant masks with defined
2576        values.
2577        (vt_parse_vt): Likewise.
2578        (vt_resize): Likewise.
2579        (vt_tab): Simplified processing.  Dont try and over-write anything
2580        onscreen, unless its empty.
2581        (vt_parse_vt): Remove 'handled' loop from interpreter.  It just
2582        wasn't doing anything useful ...
2583        (vt_parse_vt): Remove unecessary null-pointer check in state 5
2584        case.  Also force character to 7 bits when interpreting it.
2585
2586        * update.c (vt_line_update): Replaced coded constant masks with
2587        defined values.
2588        (vt_scroll_update): Likewise.
2589        (vt_update): Likewise.
2590
2591        * vt.h: Removed VTATTR_CHANGED flag.  This gives one extra
2592        attribute bit.
2593        (VTATTR_MASK): New mask - all attribute bits.
2594        (VTATTR_DATAMASK): No attribute bits.
2595
25961998-11-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2597
2598        * subshell.c (sigchld_handler): Only call the previous signal
2599        handler if it was set.
2600
26011998-11-14  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2602
2603        * vt.c (vt_cleareos): Fix ^[J command to clear in the right
2604        direction.
2605        (vt_resize): When expanding lines from scrollback, fill remainder
2606        of line with attributes of last character.
2607
26081998-11-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2609
2610        * zvtterm.c (zvt_term_set_del_key_swap):
2611        (zvt_term_key_press): Add support for swapping the sequences
2612        emited by DEL and Backspace.
2613        (zvt_term_set_del_key_swap): Actually implement it.
2614
26151998-11-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2616
2617        * gnome-utmp.c (update_dbs): Add support for UTMPX
2618        implementations.
2619        Use getutid to find an available slot.
2620        (write_logout_record): New function to write a logout record.
2621
2622        * vt.c (vt_closepty): Shutdown the pty properly (to register
2623        logout state).
2624
2625        * subshell.c (zvt_shutdown_subshell): Ask the PTY helper to
2626        write the logout record information.
2627
2628
2629        * subshell.c (get_ptys):
2630        * gnome-pty-helper.c: Use STDIN_FILENO to transfer protocol
2631        information.  Use STDOUT_FILENO to transfer file descriptors, as
2632        some BSD kernels crash if you use the same socket for transfering
2633        data and file descriptors (this information comes from Theo de
2634        Raadt).
2635       
2636        * subshell.c (sigchld_handler): Chain signal handlers.
2637        Use waitpid with WNOHANG set to check for any of our known
2638        processes.
2639
2640        * gnome-utmp.c (update_dbs): Clear the utmp structure, per Theo de
2641        Raddt's recomendation.
2642
26431998-11-10  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2644
2645        * update.c (vt_scroll_update): Get the scroll fill colour from the
2646        corresponding new line, not the old line (the 'fill' is free, it
2647        may as well more likely match what we want - even if it doesn't it
2648        just slows it down a bit).
2649
2650        * vt.c (vt_reset): Changed vt_cleareos call to vt_clear_lines.
2651        (vt_cleareos): Handle screen clear options properly, not just
2652        'clear to end'.
2653        (vt_insert_lines): Simplified clear condition - always clear
2654        (mumble grumble).
2655        (vt_delete_lines): Always clear line contents.
2656        (vt_clear_lines): Remove VTATTR_CHANGED from update.
2657        (vt_delete_chars): Remove VTATTR_CHANGED.
2658        (vt_insert_chars): Ditto.
2659        (vt_scroll_up): Ditto.
2660        (vt_scroll_down): Ditto.
2661        (vt_clear_line_portion): Ditto.
2662        (vt_tab): Ditto.
2663        (vt_parse_vt): Ditto.
2664        (vt_newline): Ditto.
2665
26661998-11-10  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
2667
2668        * vt.c (vt_down): Out by one on bounds checking against the bottom
2669        of the screen.
2670
26711998-11-10  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
2672
2673        * vtx.h (vt_scroll_area): Fix prototype for new 'fill' parameter.
2674
2675        * update.c (vt_scroll_update): Calculate the scroll expose colour
2676        from the previous background colour on that line (or start of),
2677        and pass that to vt_scroll_area.  Make sure the line is 'cleared'
2678        with the same colour.  And by jove, we have it!
2679
2680        * zvtterm.c (vt_scroll_area): Take a new option 'fill' - specifies
2681        the background colour to fill in the scrolled area.
2682
26831998-11-09  Jay Cox  <jaycox@earthlink.net>
2684
2685        * zterm.c: replaced rindex with strrchr for portability.
2686
26871998-11-09  Martin Baulig  <baulig@merkur.uni-trier.de>
2688
2689        * subshell.c, gnome-pty-helper.c: Include <sys/un.h> if we have it.
2690        (CMSG_DATA): Define this if if is not already defined.
2691
26921998-11-09  Martin Baulig  <martin@home-of-linux.org>
2693
2694        * gnome-pty-helper.c (struct pty_info): Added `line' field.
2695        (shutdown_pty): Added logout code for FreeBSD.
2696        (open_ptys): Added some code for FreeBSD.
2697
2698        * zterm.c: Added new `-l' command line parameter to make
2699        the shell a login shell.
2700
2701        * gnome-login-support.h: Include <libutil.h> on FreeBSD.
2702
2703        * gnome-pty.h (GnomePtyOps): Make it explicitly start with 1.
2704
2705        * gnome-utmp.c (_HAVE_UT_USER, _HAVE_UT_TIME): Use this #ifdefs.
2706        (WTMP_FILENAME): Define if not already defined.
2707        (HAVE_LOGIN): If we have the login () function, call it - otherwise
2708        use the pututline () ... code.
2709
27101998-11-09  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2711
2712        * gnome-login-support.h: Include pty.h only if it exists, or
2713        util.h if that exists (for OpenBSD).
2714
2715        * zvtterm.c: More slight doco updates/spelling fixes.
2716
27171998-11-07  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2718
2719        * vt.c: Mods to the doco - bit more meat and better spelling :)
2720
27211998-11-06  Raja R Harinath  <harinath@cs.umn.edu>
2722
2723        * subshell.c (receive_fd) [!HAVE_SENDMSG]: Fix typos.
2724        * gnome-pty-helper.c (init_msg_pass) [!HAVE_SENDMSG]: New empty
2725        function.
2726        * gnome-login-support.c (pty_open_master): Declare `slave_name'.
2727        Pass `used_bsd' to pty_open_master_bsd.
2728        * gnome-utmp.c (paths.h): Protect inclusion with HAVE_PATHS_H.
2729        (UTMP_FILENAME): Ensure that it is defined.
2730        From "Brandon S. Allbery" <allbery@ece.cmu.edu>.
2731       
27321998-11-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2733
2734        * zvtterm.c, vt.c: Added documentation to the API entyr points in
2735        zvt and vt.
2736
2737        * gnome-pty-helper.c: New suid program that takes care of pty
2738        allocation, permission setting and utmp/wtmp record updating.
2739
2740        * gnome-login-support.c: Utility functions to portably open pseudo
2741        terminals.  The code in this module is used by gnome-pty-helper.
2742
2743        * Makefile.am (libzvt_la_SOURCES): Do not install subshell.h this
2744        is an internal header file.
2745       
2746        Add helper program.  Makie gnome-pty-helper program setuid root.
2747       
2748        * subshell.c (zvt_resize_subshell), vt.c: Cleaned up the name
2749        space.
2750       
2751Tue Oct 27 14:19:15 1998  George Lebl  <jirka@5z.com>
2752
2753        (this is a detailed changelog even for the last commit)
2754        * zvtterm.h: added transparent,shaded,pixmap_filename and background
2755          pixmaps and zvt_term_set_background
2756
2757        * zvtterm.c: added get_desktop_window for getting the current desktop
2758          window, get_pixmap_prop, for getting an arbitrary pixmap property
2759          on a window load_pixmap_back to load a pixmap, create_shaded_pixmap,
2760          to make a shaded background pixmap, draw_back_pixmap for drawing
2761          the background, which is done in draw and expose, and sometimes in
2762          vt_draw_text. the call to set background stuff is
2763          zvt_term_background. scrolling is done by calling a redraw even for
2764          the entire widget
2765
2766Tue Oct 27 01:07:21 1998  George Lebl  <jirka@5z.com>
2767
2768        * zvtterm.[ch]: transparency hacks, it's not 100% clean and probably
2769          doesn't work well with enlightenment desktops. it isn't much code
2770          but if you really really don't want it (it doesn't affect the
2771          normal operation at all) you can change a define in zvtterm.h,
2772          it still  needs a lot of cleanup and I hope that committing it will
2773          get people to make it work with their windowmanagers (hint hint
2774          raster)
2775       
2776        * zvtterm.c,update.c: add headers to avoid warnings
2777
27781998-10-24  Martin Baulig  <martin@home-of-linux.org>
2779
2780        * update.c: Only #include <alloca.h> if we `HAVE_ALLOCA_H'.
2781
27821998-10-22  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2783
2784        * update.c (vt_update_rect): Was going to the wrong next node when
2785        starting the screen list.
2786        (vt_update_rect): Bounds-check csy - cey to height.
2787        (vt_line_update): Removed assertion about runbuffer (alloca
2788        doesn't return null).
2789        (vt_line_update): Add node->next==NULL assertion to check for
2790        end-of-list.
2791       
27921998-10-21  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2793
2794        * zterm.c (main): Set window hints/minimum size.  Now the terminal
2795        can be resized smaller!  (should this be done to gnome-terminal?)
2796
2797        * vt.c (vt_resize): Make sure widened lines are cleared with a
2798        blank character.
2799
2800        * lists.c (vt_list_remtail): This would never have worked.  Just
2801        lucky I never used it!  Changed tail to tailpred.
2802        (vt_list_addhead): This would never have worked either.  Changed
2803        tailpred to head *sigh*.
2804
2805        * vt.c (vt_scrollback_add): Changed to static.
2806        (vt_dump): Changed to static.
2807
2808        * memory.h (vt_mem_unget): Add vt_mem_unget() prototype.
2809
2810        * memory.c: Include "memory.h" for prototypes.
2811
2812        * vt.c (vt_resize): Recover old scrollback lines if they exist,
2813        and the view is getting bigger.
2814
2815        * memory.c (MEM_BLOCK_ALIGN): New constant - defines alignment of
2816        allocations.  Pointers need to align to this.
2817
28181998-10-20  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2819
2820        * update.c: Include (missing) alloca.h.
2821        (vt_line_update): Handle line size changes (i.e. if rendering
2822        scrollback from before a resize).  Removed the g_return_if_fail
2823        for line size mismatch.
2824
28251998-10-19  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2826
2827        * update.c (vt_line_update): Toggle, not OR reverse bit, for
2828        rendering selected areas.
2829        (vt_line_update): Typo in bitmask was stripping most attributes
2830        from each character (7fff000->7fff0000).
2831
2832Sun Oct 18 19:03:47 1998  Owen Taylor  <otaylor@gtk.org>
2833
2834        * zvtterm.c: Changes to match the new GTK+ selection
2835        handling API.
2836
28371998-10-18  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2838
2839        * update.c (vt_fix_selection): When selecting by character, use
2840        the same start-of-selection criteria as used with selection-by
2841        word (stops the last character on a line from always being
2842        selected).
2843        (vt_scroll_update): Removed some bulky comments.
2844
2845        * vtx.h: Removed vt_draw_text_select prototype.
2846
2847        * update.c (vt_fix_selection): When selecting by word or
2848        character, force the initial selection to contain at least 1
2849        character.
2850        (vt_line_update): Removed warnings: Removed noclear, unused variable.
2851        (vt_scroll_update): Changed to static.
2852        (vt_update): Typecast list references to struct vt_line *'s.
2853        (vt_update): Removed un-used 'count'.
2854        (vt_in_wordclass): Changed to static.
2855        (vt_expand_line): Changed to static.
2856        (vt_draw_selection_part): Changed to static.
2857        (vt_draw_text_select): Force re-render of selected block's
2858        background, when rendering the selection.
2859        (vt_line_update): Integrated 'selection' rendering into here.  Now
2860        the code can properly determine exactly the screen rendering
2861        attributes before they are rendered.
2862        (vt_draw_text_select): Removed.  Functionality integrated into the
2863        vt_line_update routine.
2864
2865        * zvtterm.c (zvt_term_button_press): Ignore button presses when
2866        CTRL is activated.  This interferes with the pop-up menu in
2867        gnome-terminal (semantically it makes no sense to support
2868        selection with any qualifiers anyway).
2869        (zvt_term_button_release): Likewise for button up.
2870
2871        * TODO: Cleaned out some done todo's.
2872
2873        * zvtterm.c (vt_draw_text): Doh!  Forgot to remove some debug.
2874
28751998-10-15  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2876
2877        * zvtterm.c (zvt_term_scroll): Some code here broke the new update
2878        stuff. scrollbackold should *never* be set outside of the update
2879        routine.
2880        (zvt_term_selection_clear): Modularised what had been, removed the
2881        fixme (calls vtx_unrender_selection()).
2882        (vtx_unrender_selection): Killed FIXME.
2883        (zvt_term_draw): Always force re-draw (through 'in_expose').
2884        (vt_draw_text): Change the sense of the dont-draw-background
2885        condition.  Always redraw background for expose events (will slow
2886        down refresh though - FIXME: the screen representation needs to be
2887        cleared to match the window, even for refresh).
2888
28891998-10-14  Michael Zucchi  <zucchi@zzedzone.fsi.com.au>
2890
2891        * update.c (vt_line_update): Fix back_match determination.  Only
2892        match on all attributes for any blank rendering characters.  When
2893        this is the case the area behind text will not be cleared (often
2894        twice-cleared otherwise).
2895
2896        * zvtterm.c (vt_draw_text): Hopefully properly fixed the 'dont
2897        clear the background if we've already cleared the background
2898        optimisation' bugs.
2899
2900        * update.c (vt_scroll_update): Removed 'fn' - first node of update
2901        scroll area.  No longer reliable or useful - due to scrollback
2902        changes.
2903        (vt_update): Integrated scrollback update within the same main
2904        loop(s).  Now scrollback should have the same performance as
2905        normal scrolling.  Has a (messier) problem with using scrollback
2906        and screen update, which should be addressed with the scrollback
2907        counter/bar elsewhere.
2908
2909        * vt.c (vt_tab): Change tab behaviour somewhat.  Dont overwrite
2910        attributes of existing characters.  Dont blank beyond the first
2911        space encountered [also, dont affect attributes].  Cleaned up code
2912        a little bit.
2913
2914        * update.c (vt_update_rect): Make this take into account
2915        vx->vt.scrollbackoffset when rendering the rectangle.
2916        (vt_draw_cursor): Make sure the cursor is turned off when
2917        scrolling (using scrollbackold rather than scrollbackoffset).
2918
2919        * zvtterm.c (zvt_term_scrollbar_moved): Only update 'scrollback'
2920        mode, rather then refresh.
2921
29221998-09-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2923
2924        * zvtterm.c (zvt_term_feed): New routine.  Used to feed
2925        information to a zvtterm from the application.
2926
2927        * zvtterm.h: Changed the timeout it to be integer.
2928
29291998-09-14  Raja R Harinath  <harinath@cs.umn.edu>
2930
2931        * subshell.c (close_msgfd): Change prototype to agree with
2932        declaration (use `pid_t', not int).
2933
29341998-20-14  Erik Troan  <ewt@redhat.com>
2935
2936        * zvtterm.c, zvtterm.h: added optional automatic scrolling
2937        on keystrokes and/or output
2938
29391998-40-08  Erik Troan  <ewt@redhat.com>
2940
2941        * subshell.c (pty_open_slave, pty_open_master): Set close-on-exec
2942        flag for slave and master file descriptors
2943        * handle SIGCHLD for proper termination detection
2944
29451998-09-04    <nicholas@cefiro.cs.nthu.edu.tw>
2946
2947        * vt.c (vt_goto): reset vt->cursorx or vt->cursory to zero
2948        when it is negative number
2949
29501998-08-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2951
2952        * zvtterm.c (zvt_term_scroll): Clear any pending cached
2953        information about scrollback when the user has triggered a
2954        scroll view change.
2955
29561998-26-31  Erik Troan  <ewt@redhat.com>
2957
2958        * vt.c (process_vt): accept : as a parameter seperator,
2959        not just ; (xterm does, linux console doesn't; we're
2960        supposed to be TERM=xterm, right?)
2961        * vt.c (vt_clear_lineportion): made ^[[K handle parameters
2962        properly (only ^[[0K was supported)
2963        * vt.c (vt_delete_lines): cells containing spaces were
2964        never updated; if the attribute is being changed they
2965        need updating, however
2966
29671998-08-28  Erik Troan  <ewt@redhat.com>
2968
2969        * vt.c (process_vt): wrapped some debugging printf()
2970        statements with d()
2971        * vt.c (process_vt): don't let ^]*X (w/ X >= 0x80)
2972        segv the box
2973        * vt.h: made the parameter stuff unsigned chars
2974
29751998-08-26  Erik Troan  <ewt@redhat.com>
2976
2977        * zvtterm.c (vt_draw_text): attempted vx->back_match
2978        optimization was incorrect, and to ghost selections
2979
29801998-07-25  Jonathan Blandford  <jrb@redhat.com>
2981
2982        * zvtterm.c (zvt_term_realize): Changed GdkIM*Nothing to
2983        GDK_IM_*_NOTHING to reflect the changes in gdk.
2984       
29851998-07-19  Michael Zucchi  <zucchi@zzedzone.box.net.au>
2986
2987        * zvtterm.c (zvt_term_init): Initialise in_expose variable at
2988        startup.
2989
2990        * update.c (vt_draw_cursor): Force back_match==0 when drawing
2991        cursor - forces screen update.
2992
2993        * zvtterm.c (vt_draw_text): Dont clear the background, if the
2994        screen already has the right colour [cleared], or we're in expose
2995        events.
2996        (zvt_term_expose): Set in_expose around expose events.  Optimises
2997        text drawing.
2998
2999        * update.c (vt_line_update): Cleaned up logic a little.  Also, now
3000        scans back buffer to find out if it is already clear, set
3001        vx->back_match if it is.
3002
30031998-07-05  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
3004
3005        * zvtterm.c (zvt_term_scroll): Check bounds when scrolling. You
3006        could Shift-PageDown while already on the last line and then would
3007        require 2 Shift-PageUp to start scrolling up again.
3008
30091998-06-15  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3010
3011        * update.c (vt_line_update): Was usually drawing 1 more character
3012        than necessary.
3013        (vt_draw_cursor): Map NUL or TAB to ' ' when drawing the cursor.
3014
3015        * zvtterm.c (zvt_term_key_press): Insert \033 before backspace for
3016        meta-bs.
3017        (zvt_term_key_press): Same for delete.  Should probably be a
3018        cleaner/more generic way to do this.
3019
3020        * vt.c (vt_gx_set): New function, sets the current font remappings
3021        for G0 to G3 font.
3022        (vt_init): Initialise vt->Gx, and vt->G[x]
3023        (vt_init): Initialise vt_remap_dec[]
3024        (vt_alt_start): Removed old redundant code.  Now sets G[1] charset
3025        as current.
3026        (vt_alt_end): Changed to reset to G[0] charset.
3027        (vt_reset): Reset Gx and G[x]
3028
3029Sun Jun 14 14:07:34 1998  Tom Tromey  <tromey@cygnus.com>
3030
3031        * Makefile.am (INCLUDES): Look in intl build directory.  Don't
3032        unconditionally look in support directory (configure will
3033        determine whether this is needed).
3034
3035Sat Jun 13 21:08:50 1998  Tom Tromey  <tromey@cygnus.com>
3036
3037        Fixed all -Wall warnings:
3038        * zterm.c: Include <stdlib.h> for atoi().
3039        * zvtterm.c: Include <string.h> for memset().
3040
30411998-06-10  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3042
3043        * zvtterm.c (zvt_term_set_color_scheme): Changed background to
3044        colour index 17 - colour index 18 doesn't exist!
3045        (zvt_term_readdata): Removed the 'read failed' message.
3046
3047        * vt.c (vt_set_screen): Clear alternate screen on a switch.
3048
3049        * update.c (vt_draw_selection_part): Check the line is on-screen
3050        before trying to re-render it.  Fixes a nasty segfault.
3051        (vt_line_update): Added some sanity checks to ensure segfaults are
3052        banished.
3053
30541998-06-07  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3055
3056        * zvtterm.c (zvt_term_key_press): Added debug macro around the key
3057        press printf.
3058        (zvt_term_key_press): Changed the ctrl-space handling code, so the
3059        default case doesn't grow into another switch statement to handle
3060        all possible cases [which is what the existing switch is for].
3061
3062        * vt.c (vt_delete_line): For reverse scroll, compare to
3063        vt->scrolltop, and not 0 - fixes reverse scroll in pine.
3064
30651998-06-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3066
3067        * zvtterm.c (zvt_term_key_press): Handle control-space.
3068
3069Mon Jun  1 19:44:25 CEST 1998  Eckehard Berns  <eb@berns.prima.de>
3070
3071        * zvtterm.c: added input context to support deadkeys.
3072
3073Mon Jun  1 17:34:41 CEST 1998  Eckehard Berns  <eb@berns.prima.de>
3074
3075        * zvtterm.c (zvt_term_key_press): added GDK_Mode_switch and
3076        GDK_Multi_key to the switch statement to avoid [ff..] when pressing
3077        AltGr or Multikey
3078
30791998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3080
3081        * update.c (vt_get_attr_at): New function, returns the
3082        attribute/char pair at a given column/row.
3083
30841998-05-23  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3085
3086        * vt.c (parse_vt): Looks up process() function at start of loop,
3087        enabling the rest of the routine to be 8 bit clean.
3088
30891998-05-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3090
3091        * zvtterm.c (zvt_term_draw): Implement a draw handler.
3092
30931998-05-12  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3094
3095        * zvtterm.c (zvt_term_selection_clear): Added call to
3096        gtk_selection_clear() to let gtk know the selection has been
3097        cleared.
3098        (zvt_term_button_release): Changed to use event->time rather than
3099        GDK_CURRENT_TIME in selection owner set.
3100
31011998-05-10  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3102
3103        * zvtterm.c (zvt_term_set_font_name): Removed "loading xxx font"
3104        message.  Probably needs some fallback if it can't load a font
3105        ... better than the one it has.
3106        (vt_draw_text): Only set 'bright' colours, if a bold equivalent exists.
3107
3108        * update.c (vt_draw_cursor): only draw/undraw cursor if not
3109        scrolled back at all.
3110
3111        * zvtterm.c (zvt_term_button_release): Added GDK_SHIFT_MASK check
3112        before reporting mouse up events.
3113
3114        * update.c (vt_draw_selection_part): Changed to use rendered
3115        selection, rather than inverting the rectangle.  May be slower for
3116        detailed screens.  Some of the arguments are now not used.
3117
3118        * vtx.h: Added vt_draw_cursor() prototype.
3119
3120        * zvtterm.c (vt_draw_text): Expanded to use 5 bit colour
3121        selection.  Put back in old default-colour handling code - needed
3122        for new cursor rendering algorithm.  Now swaps the referenced gc's
3123        rather than the gc's referenced colour, when inverse mode set.
3124        Should fix some rendering glitches.
3125
3126        * vt.c (vt_mode): removed VTATTR_FORE/BACK_SET bit settings, as
3127        these bits no longer exist.
3128
3129        * vt.h : redordered VTATTR_* bits.  Modified fore/background
3130        colour to have 5 bits.
3131
3132        * zvtterm.c (vt_cursor_state): Calls vt_draw_cursor() to render
3133        the cursor.
3134
3135        * update.c (vt_get_selection): Fixed bug where it added the first
3136        line of a selection twice to the selection buffer.
3137        (vt_draw_text_select): Fixed update bug when refreshing could
3138        corrupt first and last line of a selection.
3139        (vt_draw_cursor): New function.  Draws the cursor onto the
3140        display.  Draws the cursor using vt_draw_text() and not an
3141        inverted box.
3142
3143        * zvtterm.c: Fixed up calls to vt_draw_selection(), to call
3144        vt_fix_selection() where appropriate.
3145
3146        * update.c (vt_draw_selection): Removed call to
3147        vt_fix_selection().  Now must be performed explicitly by caller.
3148
31491998-05-09  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3150
3151        * update.c (vt_update): Changed behaviour slightly for scroll-wrap
3152        lines.  Always update them.
3153
3154        * vt.c (vt_delete_chars): Fixed out-by-1 error in scrolling the
3155        deleted charcters into place.
3156
31571998-05-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3158
3159        * zvtterm.c (zvt_term_set_color_scheme): Set the GdkWindow color
3160        to the default background of the terminal.  This avoids the
3161        flashing gray when switching desktops.
3162
31631998-05-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3164
3165        * zvtterm.c (vt_draw_text): Use the default background/foreground
3166        unless an attribute has been specified.
3167
3168        default_red, grn, blu: The colors 16 and 17 are default foreground
3169        and default background.
3170
3171Wed May  6 13:15:16 1998  Tom Tromey  <tromey@cygnus.com>
3172
3173        * subshell.c: Include <config.h>.  Conditionally include
3174        <sys/select.h>.
3175
31761998-05-04  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3177
3178        * subshell.c (pty_open_master): Removed warnings.
3179
3180        * vt.c (vt_model): Added case 47 - alternate screen off.
3181        (vt_modeh): Added case 47 - alternate screen on.
3182        (vt_set_screen): New function.  Sets the current screen.
3183        (vt_resize): Added code to handle resize of alternate screen too.
3184        (vt_scroll_up): Only add to scrollback if we are on the primary
3185        screen.
3186        (vt_reset): Resets screen to primary.
3187        (vt_destroy): Added cleanup for alternate screen and image buffer.
3188
3189        * vt.h (VTMODE_ALTSCREEN): New definition.  Covers alternate
3190        screen switching.
3191
31921998-05-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3193
3194        * zterm.c (main): Allow window to be shrinked when the font
3195        changes.
3196
3197        * zvtterm.c (zvt_term_key_press): Add support for checking the
3198        scrollback contents with shift-pgup, shift-pgdn in zvtterm.
3199
32001998-05-03  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3201
3202        * vt.c (vt_resize): Now calls resize_subshell() instead of calling
3203        the ioctl directly.
3204
3205        * subshell.h: New file.  Defines functions in subshell.c.
3206
3207        * subshell.c: New file.  Includes init_subshell() and
3208        resize_subshell() commands.  Taken from 'mc' source tree.
3209
3210        * vt.c (vt_forkpty): Changed to use init_subshell() call from
3211        subshell.c.  No longer needs forkpty() function!
3212
32131998-05-02  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3214
3215        * vt.c (vt_swap_buffers): Removed.  Not needed in the end.
3216        * update.c (vt_scroll_update): Cleaned up some dead code.
3217        (vt_scroll_update): Added code to perform scrolling of on-screen
3218        image buffer.
3219        (vt_line_update): Modified to use screen image buffer to optimise
3220        updates.  Seems to work very well!
3221
32221998-05-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3223
3224        * zvtterm.c (zvt_term_set_color_scheme): Add support for changing
3225        the color set in the terminal.
3226        (zvt_term_key_press): Add support for handling meta-key, for us,
3227        emacs users :-).
3228
3229Thu Apr 30 23:19:07 1998  Tom Tromey  <tromey@cygnus.com>
3230
3231        * forkpty.c (openpty): Removed buffer, buflen, and grbuffer
3232        variables.  Correctly call getgrnam.
3233
32341998-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3235
3236        * zvtterm.h: Use unsigned ints for the flags.
3237
3238        * zvtterm.c (vt_cursor_state): Test for drawability.
3239
32401998-04-30  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3241
3242        * zvtterm.c (zvt_term_realize): Put GDK_POINTER_MOTION_MASK back
3243        in, because we *ARE* interested in the events even when the button
3244        isn't pressed.  Otherwise the mouse doesn't un-blank :)
3245
32461998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3247
3248        * zvtterm.c (zvt_term_realize): Removed the
3249        GDK_POINTER_MOTION_HINT_MASK, as this was preventing the motion
3250        from being reported back to the application;  Removed the
3251        GDK_POINTER_MOTION_MASK, as we are only interested in the events
3252        when the button is held pressed.
3253       
3254        (zvt_term_button_press): If shift key is pressed, then do not try
3255        to report the button operations to the application (standars
3256        behaviour :-)
3257
3258        (zvt_term_readdata): signal_emission might have killed this
3259        process, do not call zvt_term_fix_scrollbar (ie, do a return on
3260        the if-part for the dead process).
3261
32621998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3263
3264        * vt.c (vt_newline): Initialize the whole array, as it can be
3265        accessed past the screen size when the whole line is selected.
3266
3267        * zvtterm.c (zvt_term_readdata): Always show the cursor if
3268        blinking has been disabled.
3269       
32701998-04-30  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3271
3272        * zvtterm.c (vt_draw_text): Bold now renders 'bright' colours.
3273        This is really only necessary (?) to emulate the use of the linux
3274        console colours.
3275        (vt_scroll_area): Does not clear the scrolled area exited space
3276        anymore.  Doesn't seem to be needed and cleans up scrolling.
3277
3278        * vt.c (vt_swap_buffers): New function.  Not used yet.  Working on
3279        some very experimental update optimisation code.  Maybe it will
3280        speed things up a little <maybe>.
3281
3282        * update.c (vt_update_rect): Added range check for cex/csx.  Could
3283        be 1 character too large from expose event.
3284
3285        * zvtterm.c (zvt_term_readdata): *ALWAYS* turn the cursor back on
3286        after an update.  This must have got lost somewhere and was the
3287        cause of the "blinking cursor usually off" bug that's been giving
3288        me the shits :)  Ahhhh, thats much better.
3289        (vt_draw_text): Removed the need for the "VTATTR_FORE/BACK_SET"
3290        flag.  All it needed was a changed VTATTR_CLEAR define :)
3291        Check it works properly though Miguel?
3292
3293        * vt.c: Removed some unecessary prototypes/comments.
3294                Oh dear, its tommorow already :(
3295
32961998-04-29  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3297
3298        * vt.c (vt_scrollback_set): Changed back to the way it was and
3299        also fixed the boundary condition.  It is safe to call vt_mem_push
3300        with a null location.
3301
33021998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3303
3304        * vt.c (vt_scrollback_set): ln might be null after calling
3305        vt_list_remhead, only execute vt_mem_push if ln is not null.
3306        Michael, I do not know if this is the correct fix, could you check this?
3307
3308        * zvtterm.c (zvt_term_forkpty): set term->input_id to the file
3309        descriptor of the chid.
3310
33111998-04-28  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3312
3313        * zterm.c (child_died_event): New function, exits.  This is the
3314        signal handler for the "child_died" event.
3315
3316        * zvtterm.c (zvt_term_destroy): Added call to zvt_term_closepty
3317        and vtx_destroy, to clean up emulator resources.  Not sure if its
3318        working right though.
3319        (zvt_term_init): Removed some redundant code.
3320        (zvt_term_child_died): Default signal handler for child death.
3321        Does nothing.
3322        (zvt_term_readdata): Emits "child_died" signal when read fails.
3323        (zvt_term_class_init): Added "child_died" signal creation to
3324        class.
3325
3326        * vt.c (vt_init): Sets the line number on initialisation of
3327        lines.  Maybe cleaner rendering on startup?
3328
3329        * zvtterm.c (zvt_term_destroy): Added call to vtx_destory.
3330
3331        * vt.c (vt_destory): New function.  Cleans up memory associated
3332        with vt run-time.  Scrollback and lines.  Closes child file
3333        descriptor.
3334
3335        * update.c (vtx_destroy): New function.  Cleans up the vtx
3336        structure and free's it.
3337
3338        * zvtterm.c (zvt_term_killchild): New function.  Calls
3339        vt_killchild().
3340        (zvt_term_forkpty): Checks validity of arguments.  Also doesn't
3341        allow a 'forked terminal' to fork again.
3342        (zvt_term_closepty): New function.  Close the child's process
3343        master terminal, and removes the gdk input handler.  Logical
3344        inverse of zvt_term_forkpty()
3345
3346        * vt.h (vt_closepty): Added api functions killchild/closepty.
3347        Perhaps it should also SIGHUP the child?
3348
3349        * vt.c (vt_killchild): New function.  Sorry about the name.
3350        Equivalent of 'kill(2)'.
3351        (vt_closepty): Inverse of forkpty().  Just closes the master pty.
3352
3353        * zvtterm.h: Added fore_last and back_last to keep track of the
3354        last foreground/background colour used in the fore/back_gc's.
3355
3356        * update.c (vt_update): Added initialisation of fn and firstline
3357        so that gcc won't complain about logic it couldn't follow.
3358
3359        * zvtterm.c (vt_scroll_area): Clears the scrolled area using the
3360        term->back_gc, which cleans up scrolling.
3361        (vt_term_realize): Initialises fore_last/back_last.
3362        (vt_draw_text): Removed static variables last_fore, last_back to
3363        term->fore_last, term->back_last.
3364
33651998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3366
3367        * vt.h (VTATTR_BACK_SET): Added two new attribute flags to
3368        indicate if explicit foreground or background have been set.
3369
3370        * zvtterm.c (zvt_term_class_init): New overwritten method:
3371        unrealize
3372        (zvt_term_unrealize): Relese resources allocated on the realize
3373        method.
3374        (zvt_term_realize): Allocate a color context for the foreground
3375        and one for the backgroudn;  Allocate colors with the gdk color
3376        context code. 
3377        (vt_draw_text): Add color support.
3378
3379        * vt.c (vt_mode): fix, process any number of arguments to the mode
3380        escape sequence.
3381
3382        * zvtterm.c (zvt_term_key_press): Backspace sends ^H; Delete sends
3383        \177, and KP_Delete sends \033[3~.
3384
33851998-04-27  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3386
3387        * zvtterm.c (vt_scroll_area): Generates and processes graphics_expose
3388                events when scrolling from off-window areas.
3389
3390        * update.c (vt_update_rect): Modified to keep old state of cursor
3391                on exit.
3392                (vt_update): Modified to keep old state of cursor on exit.
3393
3394        * zvtterm.c (vt_cursor_state): Modified to return the previous
3395                state of the cursor.
3396
33971998-04-26  Michael Zucchi  <zucchi@zzedzone.box.net.au>
3398
3399        * memory.c: renamed mem_* functions to vt_mem_* functions.
3400
3401        * update.c (vt_get_selection): Added a sanity check to
3402                ensure the selection lines exist.
3403
3404        * zterm.c (main): Added scrollbar.
3405                Added -s <number> scrollback size option.
3406                Added call to zvt_term_set_font_name().
3407
3408        * vt.c (vt_delete_char): Fixed typo in if test.
3409        (vt.c): Removed globals inadvertantly left in the code.
3410                Renamed mem_* functions to vt_mem_* functions.
3411        (vt_scrollback_set): New function.
3412        (parse_vt): Now reads \E] command - set text options, although
3413                does not process it.
3414                Multiple arguments were being passed to \EM command
3415                - reverse scroll, wrongly.
3416        (vt_modeh/l): Detects/removes application cursor key mode.
3417       
3418        * zvtterm.c (zvt_term_fix_scrollbar): Added new function.
3419                Signals adjustemnt when a change occurs.
3420        (zvt_term_size_allocate): Added call to zvt_term_fix_scrollbar.
3421        (zvt_term_readdata): Added call to zvt_term_fix_scrollbar.
3422        (zvt_term_init): Fixed signal connect to point to the term widget.
3423        (zvt_term_scrollbar_moved): Implemented adjustment change callback.
3424        (zvt_term_selection_handler): Changed to void.  Fixed g_return() macros.
3425        (zvt_term_size_request): Added input validation.
3426        (vt_draw_text): Added input validation.
3427        (vt_scroll_area): Added input validation.
3428        (zvt_term_init): Added cast to gtk_adjustment_new().
3429        (zvt_term_set_scrollback): New function.  Calls vt_scrollback_set
3430                and fixes the scrollbar too.
3431        (zvt_term_set_fonts): New function.  Sets fonts.
3432        (zvt_term_set_font_name): New function, sets fonts by name.
3433        (vt_draw_text): Added underline rendering support.
3434
Note: See TracBrowser for help on using the repository browser.