diff src/ChangeLog.GTK @ 462:0784d089fdc9 r21-2-46

Import from CVS: tag r21-2-46
author cvs
date Mon, 13 Aug 2007 11:44:37 +0200
parents
children aa729daae5e2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ChangeLog.GTK	Mon Aug 13 11:44:37 2007 +0200
@@ -0,0 +1,868 @@
+2000-10-03  William M. Perry  <wmperry@aventail.com>
+
+	* objects-gtk.c (gtk_font_instance_truename): Make sure we get the
+	fully expanded version of the font.
+
+	* device-gtk.c (convert_font): Ditto.
+
+	* gtk-xemacs.c (convert_font): Tell __get_gtk_font_truename to not
+	expand wildcards.
+
+	* objects-gtk.c (__get_gtk_font_truename): Use the internal
+	name-list in a GdkFont structure to find the truename of the
+	font.  This protects us from crashing if we get a FontSet
+	instead of a Font.
+
+	(__get_gtk_font_truename): Accept new argument 'expandp' for
+	whether to return the FULL font name or the wildcarded version.
+
+2000-09-21  William M. Perry  <wmperry@aventail.com>
+
+	* device-gtk.c (Fgtk_init): Moved calls to gtk_init or gnome_init
+	to separate function, and expose it to lisp.  It is now possible
+	to create GTK applications from batch mode.
+	(gtk_init_device): Use the new function.
+
+2000-09-12  William M. Perry  <wmperry@aventail.com>
+
+	* gtk-glue.c (gdk_event_to_emacs_event): Special case double
+	and triple clicks when converting events to lisp objects.
+	This allows something like GtkCList to treat double-clicks
+	differently in the 'select_row' signal.
+
+2000-09-11  William M. Perry  <wmperry@aventail.com>
+
+	* menubar-gtk.c (menu_create_menubar): Set a special name for
+	GtkMenuItems directly in the menubar.
+
+2000-09-10  William M. Perry  <wmperry@aventail.com>
+
+	* gtk-xemacs.c (gtk_xemacs_size_request): Deal with frame
+	being NULL.
+
+	* gtk-xemacs.c (gtk_xemacs_size_allocate): Ditto.
+
+2000-09-09  William M. Perry  <wmperry@aventail.com>
+
+	* sound.c (init_native_sound): Enable sound for GTK devices.
+
+	* device-gtk.c (gtk_init_device): Attempt to load a default
+	gtkrc file from the data directory.  This way we can enable
+	the default face font handling in gtk-faces.el but not screw
+	the majority of users with a proportional font by default.
+
+	* device-gtk.c (gtk_init_device): Attempt to load
+	~/.xemacs/gtk-options.el when GTK devices are created.  This
+	allows for setting a persistent geometry without requiring GNOME.
+
+	* gtk-xemacs.c (gtk_xemacs_style_set): Deal with NULL frame.
+
+	* device-gtk.c (gtk_init_device): Make app_shell a GtkXEmacs
+	widget so that style information is retrieved correctly.
+
+	* menubar-gtk.c (gtk_xemacs_menubar_get_type): New subclass of
+	GtkMenuBar that always requests the same width as the text
+	widget.  This fixes the spurious frame resizes when there were too
+	many menu items to display in the desired width.
+	(create_menubar_widget): Use the new subclass.
+
+2000-09-08  William M. Perry  <wmperry@aventail.com>
+
+	* device-gtk.c (Fgtk_keysym_on_keyboard_p): Ported function from
+	the X side of things.
+
+	* device-gtk.c (gtk_mark_device): Make sure that we mark the
+	keysym hashtable or things go boom.
+
+2000-09-07  William M. Perry  <wmperry@aventail.com>
+
+	* menubar-gtk.c (gtk_update_frame_menubars): Don't actually
+	update the menubars if the menu is up.  This fixes the weird
+	problem where if you had a menu up and 'message' was called
+	(this happens a lot with the 'customize' menu), the menu would
+	disappear.  This is because XEmacs is fairly lame about when
+	it updates the menus - the message logging code eventually
+	does a (save-excursion (set-buffer " *Message Log*") ...).
+	The set-buffer caused magic variable current-menubar to be
+	evaluated, which calls gtk_update_frame_menubars, which would
+	nuke the menus.  Gack.
+
+2000-09-06  William M. Perry  <wmperry@aventail.com>
+
+	* event-gtk.c (gtk_event_to_emacs_event): Reworked how we handle
+	removing the shift modifier of normal keys (a & A, etc) to be more
+	like MS-windows.  This makes everything work pretty happily with
+	query-replace and apropos now.
+
+2000-09-05  William M. Perry  <wmperry@aventail.com>
+
+	* select-gtk.c (emacs_gtk_selection_received): Signal a fake
+	event here so that the event loop will wake up.  Should fix
+	the strange pause seen when pasting.
+
+	* select-gtk.c (Fgtk_get_clipboard): Signal an error if no
+	selections are available.  This is more meaningful than 'insert'
+	throwing an error when it gets 'nil'.
+
+	* select-gtk.c (emacs_gtk_selection_received): Don't bother
+	checking whether the data returned as the selection is a string.
+	If it is not, we convert it to binary data anyway.  This fixes the
+	bug where you could not paste between two separate XEmacs
+	instances w/mule enabled (it sends selections as COMPOUND_TEXT).
+
+	* device-gtk.c (Fgtk_style_info): Return the default font name as
+	part of the style info.
+
+	* menubar-gtk.c (__generic_button_callback): make sure that we
+	provide a channel for our menu events.  This fixes things like
+	get-dialog-box-response that rely on event-channel !nilp
+
+2000-09-05  William M. Perry  <wmperry@aventail.com>
+
+	* glyphs-gtk.c (__downcase): Actually return the downcased string!
+	 Thanks to Michael Altenhofen <Michael.Altenhofen@sap.com> for
+	spotting this.
+
+2000-09-05  William M. Perry  <wmperry@aventail.com>
+
+	* menubar-gtk.c (gtk_popup_menu): Make sure we call
+	__activate_menu correctly if the menu is dynamic.  This fixes
+	popup menus with :filter effects.
+
+2000-09-01  William M. Perry  <wmperry@aventail.com>
+
+	* gpmevent.c, gpmevent.h: Updated to the latest XEmacs 21.2
+	version of gpmevent.c.  This means that GPM support works
+	with GTK now.
+
+	* console-tty.c, console-tty.h: Removed old GPM support.
+
+	* device-tty.c, emacs.c, event-Xt.c: Ditto.
+
+	* event-unixoid.c, frame-tty.c: Ditto.
+
+2000-08-30  William M. Perry  <wmperry@aventail.com>
+
+	* gtk-xemacs.c (smash_scrollbar_specifiers): Don't bother looking
+	for nextstep themed scrollbars - didn't work anyway.
+
+	* glade.c (Fglade_xml_textdomain): deal with old versions of Glade
+	that use 'textdomain' instead of 'txtdomain' in the structure.
+
+	* menubar-gtk.c (gtk_popup_menu): use gtk_widget_show instead of
+	gtk_widget_show_all so that the magic `space-saver' menu item does
+	not get shown on popups.
+
+2000-08-27  William M. Perry  <wmperry@aventail.com>
+
+	* scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Fiddle
+	with scrollbar_values -> GtkAdjustment conversion and scrolling up
+	with the arrows works correctly now.
+
+	* event-gtk.c (gtk_event_to_emacs_event): Fixed the shifted key
+	lossage (pc-select works now).
+
+2000-08-11  William M. Perry  <wmperry@aventail.com>
+
+	* scrollbar-gtk.c (scrollbar_cb): Need to make sure we look at the
+	appropriate scrollbar instances from the mirror.  Was looking only
+	at the vertical scrollbar instance.  Don't know if this has
+	anything to do with the weird scrolling behaviour, but it is worth
+	a shot.
+
+2000-07-26  William M. Perry  <wmperry@aventail.com>
+
+	* menubar-gtk.c (run_menubar_hook): New function that runs
+	activate-menubar-hook if the menu shell it was invoked by is
+	currently inactive.
+	(create_menubar_widget): Hook up the button-press-event to
+	run_menubar_hook to cater to broken packages.
+
+2000-07-22  William M. Perry  <wmperry@aventail.com>
+
+	* frame-gtk.c (gtk_popup_frame): When the window is supposed to be
+	initially unmapped, we need to make sure we realize the text
+	widget (to avoid lossage in redisplay assuming there is a valid
+	window), but NOT show it.
+
+2000-07-12  William M. Perry  <wmperry@aventail.com>
+
+	* menubar-gtk.c (__kill_stupid_gtk_timer): New function to kill
+	the timer on a GtkMenuItem widget.  This timer and its callback
+	appear to be what was causing heavily filtered menus (like
+	customize and other things under 'options') to crash.  The GTK
+	code installs a timer when the user is moving the mouse around to
+	scan menus.  Submenus are only popped up when this timer expires.
+	But if the filters are constantly running and creating/destroying
+	submenus, then you can blow up when they unconditionally check
+	GTK_WIDGET_FLAGS(menu_item->submenu), when submenu is NULL.
+
+2000-07-11  William M. Perry  <wmperry@aventail.com>
+
+	* device-gtk.c (gtk_init_device): Can now pass the entire argv
+	array that is in gtk-initial-argv-list, since gtk-init filters out
+	unknown options that may cause GTK to puke for us.  This means
+	that GNOME session management works now.
+
+	* frame-gtk.c (gnome_parse_geometry): Ripped this out of the GNOME
+	libraries to parse geometry settings, in case the user did not
+	compile with GNOME.
+	(gtk_initialize_frame_size): If gtk_initial_geometry is !NILP,
+	then try to parse it and use that.  If the geometry cannot be
+	parsed, fall back to using 80x30.
+
+	* device-gtk.c (Vgtk_initial_geometry): New variable exposed to
+	lisp holding the desired geometry of initial frames.
+
+2000-07-09  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (Fgtk_call_function): Outlined possible `enhancement'
+	if someone calls gtk-call-function with too few arguments.  After
+	I implemented it I realized it was probably a bad idea, so I
+	commented it out.  Maybe for the future...
+
+	* menubar-gtk.c (menu_convert): Can now pass in a GtkWidget to
+	reuse.  It detaches submenus, cleans up any GCPROs on it, and
+	attaches a new submenu.  All done in an effort to stop the menubar
+	flickering.
+	(menu_create_menubar): No longer willy-nilly deletes all of the
+	items in the top-level menubar.  We now check to see if the widget
+	already existing at the desired position has the same label as
+	this menu.  If it does, we pass it in to menu_convert.  This
+	drastically reduces the flickering menu problem that most people
+	have been seeing (try speedbar now).
+
+2000-07-04  William M. Perry  <wmperry@aventail.com>
+
+	* event-gtk.c (gtk_event_to_emacs_event): If FRAME is NULL, then
+	default to the selected frame on Vdefault_gtk_device.  This will
+	only happen when being called from gtk-glue.c
+
+	* ui-gtk.c (gtk_type_to_lisp): Properly convert GTK_TYPE_GDK_EVENT
+	objects to lisp events.
+
+	* event-gtk.c (gtk_event_to_emacs_event): Made this non-static so
+	that gtk-glue.c can use it.
+
+	* gtk-glue.c (gdk_event_to_emacs_event): New function to convert a
+	GDK event into something sensible for lisp.  Just uses
+	gtk_event_to_emacs_event() from event-gtk.c to avoid code
+	duplication.  Not perfect (the channel is set to the selected
+	frame, not the GtkObject it actually happened on).
+
+	* event-gtk.c (gtk_event_to_emacs_event): Finally fixed the weird
+	selection problem where if you released the mouse button over the
+	root window, XEmacs would get confused and still think the
+	selection was going on.
+
+	* ui-gtk.c (Fgtk_describe_type): New function to return the
+	signals and magic properties of an object given its name or type
+	identifier.
+
+2000-07-03  William M. Perry  <wmperry@aventail.com>
+
+	* ui-byhand.c (Fgtk_ctree_recurse): New function gtk-ctree-recurse
+	that encompasses gtk_ctree_post_recursive,
+	gtk_ctree_pre_recursive, gtk_ctree_post_recursive_to_depth, and
+	gtk_ctree_pre_recursive_to_depth.  All hail lisp bindings with
+	variable number of arguments.
+	(Fgtk_ctree_recurse): Allow nil for the node.
+
+	* ui-gtk.c (emacs_gtk_boxed_equality): New function for comparing
+	two GtkBoxed objects.  This is needed because there is no way to
+	store a `user_data' or equivalent on them, so we cannot resurrect
+	it like a GtkObject so we always get the same Lisp_Object.  This
+	allows callbacks to use `equal' on two GtkBoxed types and get sane
+	results.
+	(emacs_gtk_boxed_hash): New function for hashing GtkBoxed
+	objects.
+
+2000-07-01  William M. Perry  <wmperry@aventail.com>
+
+	* glade.c: New file to implement glue code for libglade. 
+
+2000-06-30  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (lisp_to_gtk_type): Know how to deal with
+	GTK_TYPE_GDK_GC.
+
+	* gtk-glue.c: Need to defien a GTK type for GdkGC so that we can
+	import all the GDK drawing primitives.
+	(face_to_gc): New function to convert a face object to a GC.
+
+2000-06-27  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (Fgtk_import_variable_internal): Renamed to -internal.
+
+2000-06-25  Vladimir Vukicevic <vladimir@helixcode.com>
+
+	* frame-gtk.c (gtk_set_initial_frame_size): Added in a call to
+	gtk_window_set_policy so that you can resize the window down below
+	the minimum size of the menubar.
+
+2000-06-23  William M. Perry  <wmperry@aventail.com>
+
+	* emacs.c (Fkill_emacs): Make sure we clean up the .saves* files
+	on normal exit.
+
+2000-06-13  William M. Perry  <wmperry@aventail.com>
+
+	* menubar-gtk.c (__activate_filtermenu): Put in some of the same
+	protections for filter menus that the normal menus have for widget
+	deletion and selected menu items, etc.
+
+2000-06-12  William M. Perry  <wmperry@aventail.com>
+
+	* scrollbar-gtk.c (gtk_create_scrollbar_instance): hide a
+	scrollbar widget until we are absolutely sure we need to see it.
+	Fixes the problem we were seeing with mouse-avoidance-mode causing
+	severe scrollbar breakage.
+	(update_one_widget_scrollbar_pointer): Move the call to
+	gtk_widget_realize() here instead of in the upper code.  Isolates
+	the dependency-on-having-a-window logic.
+
+	* gtk-xemacs.c (smash_scrollbar_specifiers): When setting the
+	scrollbar specifiers, need to take the x/y thickness of the border
+	into account.  Horizontal scrollbar placement is much much nicer
+	now.  Some themes would cause them to get positioned partially on
+	top of the modeline.
+
+2000-06-08  William M. Perry  <wmperry@aventail.com>
+
+	* console.c (select_console_1): Duh, forgot to put in an 'else'
+	statement, so Vwindow_system was getting set to Qnil all the
+	time.  *sigh*.
+
+2000-06-02  William M. Perry  <wmperry@aventail.com>
+
+	* glyphs-gtk.c (gtk_xpm_instantiate): Do not allow pixmaps to be
+	instantiated as pointers under GTK.  The pixmap and cursor
+	routines under GDK do not expose enough information to let use do
+	the same magic that glyphs-x.c does.  *sigh*
+
+	* ui-byhand.c (Fgtk_toolbar_insert_item): Hand-rolled function.
+	(Fgtk_toolbar_prepend_item): Ditto.
+	(generic_toolbar_insert_item): Utility function to take care of
+	all the common code for the Fgtk_toolbar_*_item functions.
+
+2000-06-01  William M. Perry  <wmperry@aventail.com>
+
+	* gtk-glue.c (face_to_style): DOH!  You should only load it if
+	IMAGE_INSTANCEP, not !IMAGE_INSTANCEP you doofus.
+
+	* ui-byhand.c (Fgtk_toolbar_append_item): Hand-rolled function.
+
+	* ui-gtk.c (Fgtk_import_function_internal): No longer need to use
+	dll_function() to get the marshallers.  They are now stored in a
+	hashtable.  Lookups should be a bit quicker, and it will work on
+	platforms where you cannot do a dll_open (NULL) to look at your
+	own symbol table.
+
+2000-05-31  William M. Perry  <wmperry@aventail.com>
+
+	* select-gtk.c (emacs_gtk_selection_handle): Better MULE string
+	handling.
+
+	* gtk-xemacs.c (gtk_xemacs_realize): Make sure we set the style on
+	the widget from the realize function.  Otherwise for some themes
+	the color slots are not allocated yet, and we end up with icky
+	looking colors for things like the modeline/toolbar.
+
+	* select-gtk.c (Fgtk_get_clipboard): If we cannot get the
+	selection from anyone, return the last selection we received.
+	This make us work more like the X selection behaviour with
+	cutbuffers enabled.
+
+2000-05-30  William M. Perry  <wmperry@aventail.com>
+
+	* ui-byhand.c: Removed definitions of gtk-clist-prepend,
+	gtk-clist-append, and gtk-clist-insert.
+
+	* ui-gtk.c (lisp_to_gtk_type): Use it.
+
+	* gtk-glue.c (face_to_style): Routine to convert from faces to
+	GtkStyle
+
+	* menubar-gtk.c (gtk_popup_menu): Honor popup_up_p here.
+	(popdown_menu_cb): and here.
+
+2000-05-29  William M. Perry  <wmperry@aventail.com>
+
+	* frame-gtk.c (gtk_popup_frame): Do not show the widgets if we
+	were told to be initially unmapped.
+	(gtk_init_frame_1): Remember whether we were told to be initially
+	unmapped.  Balloon help looks a little better now.
+
+2000-05-28  William M. Perry  <wmperry@aventail.com>
+
+	* redisplay-gtk.c (gtk_output_string): Fixed multi-dimensional
+	text run drawing.  gdk_draw_text does too much, by dividing the
+	length by 2.  So we fake them out my multiplying the length by the
+	dimension of the text.  This will do the right thing for
+	single-dimension runs as well of course.
+
+2000-05-26  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (get_enumeration): Utility function that does its best
+	to import unknown enumeration types.
+
+	* glyphs-gtk.c (resource_symbol_to_type): Fixed pointer
+	instantiation.
+
+	* gtk-xemacs.c (FROB_FACE): Make sure to pass the device to
+	Fmake_image_instance or the initial background pixmaps would not
+	show up.
+
+2000-05-25  William M. Perry  <wmperry@aventail.com>
+
+	* device-gtk.c (gtk_init_device): Call gnome_init if available.
+
+	* menubar-gtk.c (create_menubar_widget): Use gnome_app_set_menus
+	instead of dealing with all the handlebox/menu crap ourselves.
+
+	* frame-gtk.c (gtk_create_widgets): Use GnomeApp if it is
+	available.  Looks much sexier. :)
+
+	* glyphs-gtk.c (gtk_resource_instantiate): New image instantiator
+	gtk-resource, similar to the mswindows-resource stuff.  This
+	allows you to get to the stock cursors defined in GDK.  May
+	eventually allow you access to things like stock gnome pixmaps,
+	not sure.
+
+	* frame-gtk.c (gtk_set_frame_pointer): Actually handle setting the
+	frame cursor.
+
+	* redisplay-gtk.c (gdk_draw_bitmap): New function to output a
+	bitmap using XCopyPlane instead of XCopyArea.
+	(gtk_output_gdk_pixmap): Use it when PIXMAP_DEPTH == 0.  This
+	means bitmaps look correct now.
+
+2000-05-24  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (flags_to_list): New function to convert a GtkFlags
+	argument to a list of symbols.
+	(gtk_type_to_lisp): Use it for converting from a flag.
+
+2000-05-23  William M. Perry  <wmperry@aventail.com>
+
+	* frame-gtk.c (gtk_set_frame_position): Do not use
+	gtk_window_reposition - this apparently does not exist in some
+	versions of GTK 1.2
+
+	* gtk-glue.c (xemacs_gtklist_to_list): Don't call g_list_foreach
+	on a NULL list, just in case.
+
+	* redisplay-gtk.c (gtk_text_width_single_run): Use gdk_text_width
+	instead of gdk_text_measure.  Proportional fonts appear to work
+	now.
+
+	* objects-gtk.c (gtk_initialize_font_instance): Use X specific
+	crap lifted from objects-x.c to figure out proportionality of a
+	font, and better location of the default character.
+
+2000-05-22  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (enum_to_symbol): Routine to convert an enum to a lisp
+	symbol.  We now return this instead of an integer for GtkFlags or
+	GtkEnum types.
+	(lisp_to_flag): Routine to convert from a symbol or list of
+	symbols to a GtkEnum or GtkFlags type.
+	(lisp_to_gtk_type): Use it exclusively.  No more sending integers
+	to functions.
+	(import_gtk_enumeration_internal): Do not import the GTK_FOO_BAR
+	flags/enums into the lisp namespace.  We now store mappings from
+	symbol names (both the 'real' and nickname fields) to the actual
+	internal values.  Much more lispy way of doing things.
+
+	* menubar-gtk.c (__maybe_destroy): If we delete the menu item that
+	was 'active' when the menu was cancelled, GTK gets upset because
+	it tries to remove the focus rectangle from a (now) dead widget.
+	This widget will eventually get killed because it will not be
+	`precious' the next time the window is shown, because it is
+	unselectable.
+
+	* frame-gtk.c (delete_event_cb): Signal a fake event to make the
+	event loop wake up and notice we've been destroyed.
+
+2000-05-20  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (object_putprop): Allow `put'ing of arbitrary slots on
+	gtk objects.  This will be useful for tacking lisp shit onto
+	composite widgets, etc.
+	(object_getprop): Ditto for `get'ing.
+
+	* frame-gtk.c (gtk_set_initial_frame_size): Don't delay when
+	changing the frame size, or creating initially unmapped frames is
+	screwed up.  This showed up when trying to use the cheesy XEmacs
+	file selector dialog implemented using frames.
+
+	* ui-byhand.c: Removed a lot of functions that can now be imported
+	directly by gtk-import-function using the
+	Gtk(Array|List)Of(String|Object) types.
+
+	* ui-gtk.c (type_to_marshaller_type): Deal with new array/list
+	types.
+	(Fgtk_call_function): Need to free array and list storage after
+	calling functions.
+	(lisp_to_gtk_type): Deal with the new list and array types when
+	converting to GTK types.
+
+	* gtk-glue.c: New file to deal with lists of strings or
+	GtkObjects.  Defines new types GtkArrayOf, GtkListOf,
+	GtkArrayOfString, GtkListOfString, and GtkListOfObject.
+	(xemacs_list_to_array): Convert from a lisp list to a GtkArrayOf
+	of items.
+	(xemacs_list_to_list): Convert from a lisp list to a GtkListOf of
+	items.
+
+	* dialog.c (Fpopup_dialog_box): Don't crap out if the car of
+	dbox_desc is not a string... this allows us to follow ben's
+	system/native dialog box specification.
+
+2000-05-19  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (lisp_to_gtk_type): Can now convert to GDK colors.  Can
+	deal with color specifiers or instances.
+	(lisp_to_gtk_type): Can now convert to GDK fonts.  Can deal with
+	face names, actual faces, font specifiers, or font instances.
+
+2000-05-18  William M. Perry  <wmperry@aventail.com>
+
+	* gtk-xemacs.c (smash_scrollbar_specifiers): Function that
+	attempts to set the scrollbar width/height correctly, but does not
+	do a very good job.  Commented out for now.
+
+	* redisplay-gtk.c (gtk_output_vertical_divider): Got rid of lots
+	of useless code, since we ended up just calling gtk_output_shadows
+	anyway.
+	(gtk_output_vertical_divider): Make sure we fill the rectangle
+	completely, otherwise the transparent background shows thru.
+
+	* menubar-gtk.c: Don't nuke menus all the time... should speed up
+	submenu traversal a bit, and save on the GtkMenuItem creation.
+
+	* device-gtk.c (Fgtk_style_info): Return a list of all the
+	pixmaps, not just GTK_STATE_NORMAL.
+
+	* menubar-gtk.c (menu_descriptor_to_widget_1): Better menu labels
+	with keybindings.
+
+	* frame-gtk.c (gtk_set_frame_size): This function actually works
+	now.
+	(gtk_set_initial_frame_size): Better default sizing method.
+
+	* event-gtk.c (init_event_gtk_late): Push an error trap handler so
+	that XEmacs won't abort at the drop of a hat on X errors.  We
+	could get X specific here and override the default GDK XError and
+	XIOError handlers to be more like those in device-x.c.  Not sure
+	if that is worth it or not - you would at least get information
+	that an error occurred.
+
+	* scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Don't
+	always call gtk_widget_set_usize because that causes the widget to
+	redraw itself, which can cause some annoying flicker.
+	(gtk_update_scrollbar_instance_status): Don't always move it
+	either, because that can cause the GtkFixed container to get a
+	resize event.
+	(update_one_widget_scrollbar_pointer): Try to set the cursor 
+
+2000-05-17  William M. Perry  <wmperry@aventail.com>
+
+	* device-gtk.c (Fgtk_style_info): Back to taking only 1 argument -
+	the device.
+	(Fgtk_style_info): Now returns ALL of the information about
+	colors.  Returns a list of colors instead of just the one
+	associated with GTK_STATE_NORMAL.
+
+2000-05-16  William M. Perry  <wmperry@aventail.com>
+
+	* gtk-xemacs.c (smash_face_fallbacks): New function to reset the
+	gtk-specific fallbacks on various face specifiers.  This means
+	that if the user has not changed the face, when a theme or style
+	is changed, the faces will automatically change as well.
+	(gtk_xemacs_style_set): Call it.
+
+	* toolbar-gtk.c (get_toolbar_gc): Swap the fg/bg of the toolbar
+	face when getting the GC.  It looks better this way.
+
+	* gtk-xemacs.c (gtk_xemacs_style_set): Override the style-set
+	method so that we can nuke the pixmaps again.
+	(__nuke_background_items): Moved the voodoo out into its own
+	function so that it can be called from both style_set and
+	realize.
+
+	* console-gtk.h (struct gtk_frame): Removed hardcoded GCs ala X.
+
+	* toolbar-gtk.c (get_toolbar_gc): New function that dynamically
+	creates a GC from the `toolbar' face.
+	(gtk_draw_blank_toolbar_button): Use it instead of the hardcoded
+	GC.
+	(gtk_output_toolbar_button): Ditto.
+	(gtk_output_toolbar): Ditto.
+
+	* event-gtk.c (gtk_check_for_quit_char): Quit handling actually
+	works now.  Feh!
+
+	* device-gtk.c (gtk_device_init_x_specific_cruft): New function
+	that gets the socket we are listening to the X server on so that
+	the SIGIO lossage works correctly for GTK devices.
+	(gtk_init_device): Call it at device creation time.
+
+2000-05-15  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (__internal_callback_marshal): We now correctly handle
+	the 'data' argument.  This is an arbitrary lisp object passed to
+	the callback routine as its last argument.
+
+2000-05-14  William M. Perry  <wmperry@aventail.com>
+
+	* event-gtk.c (gtk_event_to_emacs_event): Needed to reinstate the
+	magic to NOT differentiate betwen ! and shift-!.  *sigh*
+
+	* ui-gtk.c (lisp_to_gtk_type): Allow 'nil' for string types so
+	that we can pass NULL to gtk-frame-new.
+
+2000-05-13  William M. Perry  <wmperry@aventail.com>
+
+	* gtk-xemacs.c (gtk_xemacs_size_request): Needed to override the
+	size_request method to get frame sizing correct.  Whoo hoo!
+	(gtk_xemacs_realize): Don't set the background on the GtkXEmacs
+	window - this reduces the flicker even more.
+
+	* device-gtk.c (gtk_init_device): Don't use shared memory under
+	FreeBSD - it is apparently flaky as hell and causes lots of themes
+	to crash and burn quite prettily.
+
+	* gtk-xemacs.c (gtk_xemacs_realize): Added new widget method that
+	makes sure to nuke the background pixmap of the XEmacs text area
+	and its parent (the GtkWindow it is contained in).  This fixes the
+	flashing you would see with themes/styles that define a background
+	pixmap.
+
+2000-05-12  William M. Perry  <wmperry@aventail.com>
+
+	* menubar-gtk.c (gtk_update_frame_menubar_internal): Duh, should
+	actually pay attention to menubar_will_be_visible instead of just
+	calling gtk_widget_show_all in both branches. :)
+
+2000-05-11  William M. Perry  <wmperry@aventail.com>
+
+	* menubar-gtk.c (vars_of_menubar_gtk): New variable
+	menubar-dockable-p that controls whether to use the GtkHandleBox
+	or not.
+
+	* select-gtk.c: Implemented all of the selection callbacks for GTK
+
+	* frame-gtk.c (resize_event_cb): Force a redisplay when the frame
+	is resized.
+
+	* event-gtk.c (gtk_event_to_emacs_event): When we are doing our
+	hackery to make sure we don't see button events inside the
+	scrollbar, make sure we correctly forward events that did not
+	happen over ANY widget, otherwise selection gets royally screwed
+	and thinks you still have the mouse button down.
+
+	* redisplay-gtk.c (gtk_output_string): Don't bother calling
+	gdk_draw_text_wc - I misunderstood what XDrawString16 did -
+	gdk_draw_text encapsulates this nicely for us.
+
+2000-05-10  William M. Perry  <wmperry@aventail.com>
+
+	* menubar-gtk.c: Changed how the menubar is created and managed.
+	We no longer create and destroy it at will.  Only one GtkMenuBar
+	is ever created, and the children are just added/removed from it.
+	Much less flickering when switching buffers - cleaner in general.
+	(create_menubar_widget): Wheee - menubars are now detachable.
+
+	* ui-gtk.c (Fgtk_import_function_internal): Don't drop everything
+	down to its fundamental type just yet - we need to know specifics
+	about boxed types.
+	(object_putprop): Duh, actually SET the property.
+	(Fgtk_fundamental_type): New function that does the obvious.
+	(Fgtk_object_type): New function that does the obvious.
+	(lisp_to_gtk_type): Implement glyph handling!  GtkPixmap works!
+
+	* ui-byhand.c (Fgtk_pixmap_get): Implemented by hand.  *sigh*
+
+	* dialog-gtk.c: Call into lisp to do dialog boxes.
+
+2000-05-08  William M. Perry  <wmperry@aventail.com>
+
+	* make-src-depend (PrintPatternDeps): Make sure we generate the
+	xx-gtk.* dependencies.
+
+	* depend: Regenerated 
+
+	* make-src-depend: Handle inclusion of .c files.
+
+	* Makefile.in.in (extra_doc_files): Need to include ui-byhand.c
+	here as well.
+
+	* ui-gtk.c (type_to_marshaller_type): Don't abort if we don't know
+	about the marshaller.  Just return Qnil and let the caller figure
+	it out.
+	(Fgtk_import_function_internal): Deal with new return value of
+	Qnil for error signalling from type_to_marshaller_type().
+	(lisp_to_gtk_type): Half-assed implementation of dealing with
+	callbacks.
+	(gtk_type_to_lisp): Ditto.
+
+	* ui-byhand.c: New file that hand-codes some annoying functions in
+	Gtk.  *sigh*
+
+	* emacs-widget-accessors.c (Fgtk_adjustment_lower): New
+	auto-generated file that spits out all the widget slot accessor
+	functions.
+
+	* ui-gtk.c (Fgtk_signal_connect_internal): Holy shit, signals work!
+	(lisp_to_gtk_type): Allow ints to be passed in as arguments to
+	functions that expect floats, otherwise you have to write stupid
+	code like 9.0 instead of just passing in '9'.
+
+2000-05-07  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (gtk_type_to_lisp): Return Qnil if we get a NULL
+	pointer/object/boxed.
+	(lisp_to_gtk_type): Allow Qnil to be passed in to mean a NULL
+	pointer/object/boxed.
+
+	* event-gtk.c (gtk_event_to_emacs_event): Make sure a button press
+	focuses on the text widget, otherwise if someone packs a widget
+	into the container from lisp, we end up not getting keyboard focus
+	quite a bit.  Eek.
+
+	* frame-gtk.c (gtk_create_widgets): Set the name of the xemacs
+	shell so we can control sylte issues from .gtkrc
+	(gtk_set_initial_frame_size): Set the default size of the frame
+	correctly.
+	(gtk_create_widgets): Expose the frame shell and container widgets
+	to lisp.
+
+	* emacs-marshals.c: Added a whole shitload of marshallers - don't
+	edit this file by hand if you need to add one.  Check out
+	../lisp/ui/gtk-marshal.el for a script that auto-generates them
+	for you.
+
+2000-05-05  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (describe_gtk_arg): Debugging function to spit out
+	human-readable version a GtkArg.
+	(lisp_to_gtk_type): Made this function much more sane.
+	(Fgtk_call_function): New function to allow calling generic
+	functions from DLLs in lisp.
+	(CONVERT_RETVAL): New macro (ugh) to convert a pointer that the
+	return value filled in back into a valid GtkArg.
+	(Fgtk_call_function): This actually works now!  Scary stuff.
+
+2000-05-04  William M. Perry  <wmperry@aventail.com>
+
+	* ui-gtk.c (Fgtk_import_type): New function to import a GtkType
+	into the XEmacs namespace.  For starters this only fully imports
+	enumerations and flags.  Importing a GtkObject or subclass results
+	in getting a list back of possible signals and argument lists.
+
+	* scrollbar-gtk.c (gtk_create_scrollbar_instance): Fixed some
+	compiler warnings.
+	(scrollbar_cb): Aha!  Thanks to the magic of reading the
+	gtkrange.c source code, we now have better behaving scrollbars.
+	Clicking in the trough/end arrows now works correctly instead of
+	the semi-hackish way it did earlier today.
+
+	* ui-gtk.c (Fgtk_define_enumeration): New function that can 
+
+	* scrollbar-gtk.c (scrollbar_cb): Combined the horizontal and
+	vertical scrolling callbacks.  Differentiate between them by
+	user_data. 
+	(scrollbar_cb): Don't bother trying to figure out whether this is
+	a line-by-line or page-wide scrolling operation.  Just go by what
+	is in the value of the adjustment and issue a scrollbar_*_drag
+	event.  This is not 100% correct, but it at least gets it
+	working.  Doing it 'right' might not be possible with standard Gtk
+	scrollbars.
+	(scrollbar_drag_hack_cb): New function to set
+	vertical_drag_in_progress and inhibit_slider_change when we might
+	be starting a drag in the scrollbar.
+	(gtk_update_scrollbar_instance_status): Better setting of the
+	adjustment variables.  Scrolling by pages (clicking in the trough)
+	works now.  Line-by-line seems to work too.
+
+2000-05-03  William M. Perry  <wmperry@aventail.com>
+
+	* scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Got the
+	thumb sizing correct finally.  Thanks to scrollbar-msw.c for
+	showing how to do it sanely - scrollbar-x.c is a mess.
+
+	* window.c (specifier_vars_of_window): Added GTK specific fallback
+	for Vvertical_divider_line_width.
+
+	* toolbar.c (specifier_vars_of_toolbar): Handle specifier
+	fallbacks for GTK toolbars.
+
+	* gui-gtk.c (button_item_to_widget): Compiles under Gtk at least -
+	more than likely completely broken.
+
+	* glyphs-gtk.c (write_lisp_string_to_temp_file): Resurrected this
+	blasphemous function to deal with XPMs.
+	(gtk_xpm_instantiate): Now writes the XPM to a temp file, since
+	GTK cannot deal with XPMs from memory.  Lame, but not fixable for
+	gtk 1.2 - maybe for 1.4.
+	(gtk_xpm_instantiate): Transparency works now.
+
+	* gccache-gtk.c (gc_cache_lookup): Made non-hash based code
+	compile.  It is not used, but what the hell.
+
+	* faces.c (complex_vars_of_faces): Do GTK specific mucking about
+	with face property fallbacks (fonts and colors)
+
+	* events.c (event_equal): Added special case for GTK.
+	(event_hash): Added special case for GTK.
+	(format_event_object): Added special case for GTK events.
+
+	* event-gtk.c (event_name): Use gtk_event_name helper function
+	here.
+	(handle_focus_event_1): Got rid of gtk-redisplay-hack variable and
+	usage.
+
+	* device.c (delete_device_internal): Delete 'popup' frames under
+	Gtk as well as X.  Should this happen for HAVE_MSWINDOWS as well?
+
+	* console.c (select_console_1): Make sure we set Vwindow_system
+	like all the others.
+
+	* frame-gtk.c (gtk_update_frame_external_traits): Added comments
+	about why I didn't implement some portions of this function.
+
+	* redisplay-gtk.c (gtk_output_string): Fixed the bizarre redisplay
+	problem where all the default text would be drawn twice - once
+	with the normal background colour, and once with the text-cursor
+	background.  This was caused by a stupid typo and using the wrong
+	GdkGC in the second call to gdk_draw_text_image... basically no
+	clipping was being done on the image, so the whole thing was
+	redrawn.
+	(gtk_output_string): Call gdk_draw_text if we have a background
+	pixmap, otherwise things look REALLY weird.
+	(gtk_clear_region): Had a misplaced brace that caused the non-text
+	area of a frame not to get the correct background.
+
+2000-05-02  William M. Perry  <wmperry@aventail.com>
+
+	* glyphs-gtk.c (gtk_xpm_instantiate): Need to write pixmaps to a
+	temp file and then read with gdk_pixmap_create_from_xpm () - there
+	is no way to read from a memory buffer (yet - I might write one
+	for Gtk 1.4)
+
+	* glyphs.c: Don't include xpm.h when building with Gtk.
+	(pixmap_to_lisp_data): Alternate implementation for Gtk.
+
+	* device-gtk.c (gtk_init_device): Call gdk_imlib_init if
+	available, otherwise the 'Pixmap' theme engine doesn't work.
+	Losers.
+
+	* glyphs-gtk.c (gtk_xpm_instantiate): Now at least tries to
+	instantiate XPM images.
+	(init_image_instance_from_gdk_pixmap): Utility function to create
+	a glyph from an existing GdkPixmap.
+
+	* device-gtk.c (Fgtk_style_info): Attempt to expose the background
+	pixmaps from a Gtk style.
+