1. 04 Mar, 2002 1 commit
    • Owen Taylor's avatar
      Fixes for non XKB operation. (#73103) · b543bbff
      Owen Taylor authored
      Mon Mar  4 12:43:48 2002  Owen Taylor  <otaylor@redhat.com>
      
              Fixes for non XKB operation. (#73103)
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              Fix problem where GDK_Tab was converted to GDK_ISO_Left_Tab
              always, not just if Shift was pressed.
      
              * gdk/x11/gdkkeys-x11.c gdk/x11/gdkprivate-x11.c
              gdk/x11/gdkevents-x11.c: Move determination of group
              to _gdk_x11_get_group_for_state(), fix to handle non-XKB.
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Only
              add in SHIFT_MASK | LOCK_MASK to consumed_modifiers if the shifted
              and unshifted keysyms are different. Only add in group_switch_mask
              if the group-switched and non-group-switched keysyms are diferent.
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              When calling XKeycodeToKeysym, use group * keysyms_per_keycode / 2
              not group * keysyms_per_keycode. (Tor Lillquist)
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              Remove the hack to fudge the return value for GDK_Tab + Shift
              since that didn't work -- it didn't affect the reverse mapping.
              Instead fudge the non-XKB keymap instead.
      b543bbff
  2. 02 Mar, 2002 1 commit
    • Owen Taylor's avatar
      Robustify tracking of pointer grab window. · b54e5f4c
      Owen Taylor authored
      Fri Mar  1 18:39:44 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/x11/{gdkevents-x11.c,gdkmain-x11.c,gdkprivate-x11.h,
              gdkwindow-x11.c}: Robustify tracking of pointer grab window.
      
              * gdk/x11/gdkmain-x11.c: Keep track of current keyboard
              grab window.
      
              * gdk/x11/gdkmain-x11.c (gdk_pointer_grab_info_libgtk_only,
              gdk_keyboard_grab_info_libgtk_only): Private libgtk => libgtk
              API for finding out current grab information.
      
              * gtk/gtkmain.c (rewrite_event_for_grabs): Rewrite events
              so that the effective behavior of owner_events = TRUE is changed
              to "deliver events to same window group normally" instead
              of "deliver events to same application normally. #69934
      
              * gtk/gtkrange.c: Use an explicit gtk_grab_add() so that
              it works within the GtkList combo, where there is a
              owner_events = FALSE gdk_pointer_grab() already in effect.
              (#65006, reported by Damon Chaplin)
      b54e5f4c
  3. 24 Feb, 2002 1 commit
  4. 21 Feb, 2002 1 commit
    • Owen Taylor's avatar
      Implement "fuzzy" key binding lookups; allow matches on key and level but · 708e1a95
      Owen Taylor authored
      Wed Feb 20 14:26:47 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
              allow matches on key and level but not group. Also, implement
              ignoring "consumed modifiers correctly."
      
              * gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
              GtkKeyHash.
      
              * gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings
      
              * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
              the group for key release events as well as key press events.
      
              * gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              Rename unused_modifiers to consumed_modifiers, make the docs and
              non-Xkb implementation match the Xkb implementation.
      
              * gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
              doc and parameter name changes.
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              XkbTranslateKeyCode doesn't handle LockMask, we need to handle
              it ourselves.
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
              <Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
              to allow dealing with ISO_Left_Tab.
      
              * gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
              gtk/gtkpaned.c gtk/gtkcombo.c  gtk/gtknotebook.c:
              Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
              or <Shift>Tab both are equivalent as a binding specifier.)
      
              * gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
              GTK_RUN_ACTION, so you can bind an accelerator to it.
      
              * gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call
              gdk_unicode_to_keyval on the mnemonic character.
      
              * tests/testgtk.c: Add a test for the new fuzzy key binding matching.
      708e1a95
  5. 20 Feb, 2002 1 commit
  6. 04 Feb, 2002 1 commit
  7. 17 Jan, 2002 1 commit
    • Owen Taylor's avatar
      Move here, and save/restore the X error handler to allow people using GTK+ · c8698f92
      Owen Taylor authored
      Thu Jan 17 13:08:34 2002  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkmain-x11.c (gdk_error_trap_push): Move
      	here, and save/restore the X error handler to allow
      	people using GTK+ to set the X error handler to something
      	custom without disturbing the operation of GDK.
      
      	* gdk/linux-fb/gdkmain-fb.c (gdk_error_trap_push)
      	* gdk/win32/gdkmain-win32.c (gdk_error_trap_pop): Add
      	dummy implementations.
      
      	* gdk/x11/gdkmain-x11.c gdk/x11/gdkevents-x11.c
      	gdk/x11/gdkdnd-x11.c: Use gdk_error_trap_push()/pop()
      	for all error trapping.
      
      	* gdk/x11/gdkdnd-x11.c: Remove '#if 0' code.
      
      	* gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Fix
      	problem where we would add the results anyways,
      	and then add it again if no error occurred, and problem
      	where we could leave _gdk_error_warnings() unset.
      c8698f92
  8. 09 Dec, 2001 1 commit
    • Anders Carlsson's avatar
      Update xsettings name. · 17f81739
      Anders Carlsson authored
      2001-12-09  Anders Carlsson  <andersca@gnu.org>
      
      	* gdk/x11/gdkevents-x11.c: Update xsettings name.
      
      	* gtk/gtkdnd.c (gtk_drag_check_threshold): Use the
      	gtk-dnd-drag-threshold GtkSetting.
      
      	* gtk/gtksettings.c (gtk_settings_class_init): Add
      	setting for dnd drag threshold.
      17f81739
  9. 22 Oct, 2001 1 commit
    • Owen Taylor's avatar
      Fix problem with g_return_if_fail return value. · 46dde804
      Owen Taylor authored
      Sun Oct 21 23:27:00 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_translate_coordinates): Fix
      	problem with g_return_if_fail return value.
      
       	* gdk/x11/gdkproperty-x11.c docs/Changes-2.0.txt: Move over the
      	virtual atom code from the gdk-multihead branch, removing the per-display
      	part. Virtualizing atoms needs to be done now to prevent compat
      	breakage in direct Xlib accessing code in the future. (#62208)
      
       	* gdk/x11/gdkx.h: gdk/gdk/x11/gdkproperty-x11.c: Export
       	gdk_x11_xatom_to_atom, gdk_x11_atom_to_xatom().
      
      	* gdk/gdktypes.h docs/Changes-2.0.txt: Make GdkAtom
      	an opaque pointer type so the compiler catches attempts
      	to mingle it with X atoms.
      
      	* gdk/x11/{gdkdnd-x11.c,gdkevents-x11.c,gdkglobals-x11.c,
      	  gdkkeys-x11.c, gdkmain-x11.c, gdkprivate-x11.c,
      	  gdkproperty-x11.c, gdkselection-x11.c, gdkwindow-x11.c}
      	  gtk/{gtkclist.c,gtkctree.c,gtkdnd.c,gtkplug.c,gtksocket.c}
      	  tests/testdnd.c,tests/testselection.c:
      	Fix up for above atom changes.
      
      	* gdk/gdkselection.h (GDK_SELECTION_CLIPBOARD): Add, since we
      	now have the ability to add custom predefines.
      
      	* gtk/{gtkentry.c,gtklabel.c,gtkoldeditable.c,gtktextview.c}:
      	Use GDK_SELECTION_CLIPBOARD instead of GDK_NONE in calls
      	to gtk_clipboard_get().
      
      	* gdk/win32/gdkproperty-win32.c: Add CLIPBOARD, fix up
      	for GdkAtom => pointer change.
      
      	* gdk/linux-fb/gdkproperty-fb.c: Fix handling of predefined
      	atoms, fix for GdkAtom => pointer change.
      46dde804
  10. 03 Oct, 2001 1 commit
    • Havoc Pennington's avatar
      Throughout: assorted docs · eacd03ae
      Havoc Pennington authored
      2001-10-02  Havoc Pennington  <hp@redhat.com>
      
              Throughout: assorted docs
      
      	* gdk/gdkwindow.h: deprecate gdk_window_set_hints(), it's broken,
      	gdk_window_set_geometry_hints() should be used instead.
      
      	* gdk/gdkimage.h: deprecate gdk_image_ref, gdk_image_unref, and
      	document them
      
      	* gdk/x11/gdkx.h: remove gdk_get_client_window() since it doesn't
      	seem to exist in any .c files
      
      	* gdk/x11/gdkcolor-x11.c (gdk_colormap_query_color): docs,
      	g_return_if_fail (pixel < colormap->size).
      eacd03ae
  11. 24 Sep, 2001 1 commit
    • Owen Taylor's avatar
      Add a compat macro that got lost. · 540f15dc
      Owen Taylor authored
      Mon Sep 24 12:48:25 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtknotebook.h: Add a compat macro that got lost.
      
              * gtk/gtktreestore.c: Doc fixes.
      
              * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix reference
              leak for windows that receive events after being destroyed.
              (#60863, Joshua N. Pritikin)
      
              * gtk/gtktable.c (gtk_table_remove): Use gtk_widget_queue_resize
              rather than gtk_container_queue_resize().
      
              * gtk/{gtkcontainer.c,gtkwidget.c,gtkwindow.c}: _gtk prefix
              gtk_container_queue_resize, gtk_container_queue_resize_widgets,
              gtk_container_child_composite_name. (#60217.)
      540f15dc
  12. 07 Sep, 2001 1 commit
    • Owen Taylor's avatar
      Make gdkx.h the only installed header from gdk/x11. All structures in · 1bbf2ac7
      Owen Taylor authored
      Fri Sep  7 11:51:44 2001  Owen Taylor  <otaylor@redhat.com>
      
            Make gdkx.h the only installed header from gdk/x11.
            All structures in gdk/x11 are opaque.
      
      	* gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
      	Don't install gdk{drawable,pixmap,window}-x11.h.
      
      	* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c:
      	Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11,
      	GdkVisualClass into C files.
      
      	* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.
      
      	* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
      	gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
      	Add public functions to replace previously exported direct
      	structure access.
      	gdk_x11_colormap_get_{xdisplay,xcolormap}
      	gdk_x11_cursor_get_{xdisplay,xcursor},
      	gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
      	gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
      	gdk_x11_gc_get_{xdisplay,ximage}
      
      	* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
      	GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.
      
            Fix a number of variables and functions that were exported
            "accidentally" from GDK.
      
      	* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
      	gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit,
      	gdk_input_exit,	gdk_windowing_exit, gdk_event_func, gdk_event_data,
      	gdk_event_notify, gdk_queued_events, gdk_queued_tail,
      	gdk_event_new, gdk_events_queue, gdk_events_unqueue,
      	gdk_event_queue_find_first, gdk_event_queue_remove_link,
      	gdk_event_queue_append, gdk_event_button_generate,
      	gdk_debug_flags, gdk_default_filters, gdk_parent_root.
      
      	* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c,
      	   gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
      	gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks,
      	gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
      	gdk_use_xshm, gdk_input_ignore_core.
      
      	* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
      	#defines to namespace functions into the private _gdk_
      	namespace.
      
      	* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
      	to replace gdk_parent_root exported variable. Adjust and
      	deprecate GDK_ROOT_PARENT().
      
      	* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
      	GDK_ROOT_PARENT usage, remove includes of port-specific
      	headers.
      
      	* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for
      	_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core,
      	gdk_input_devices, _gdk_input_windows, gdk_init_input_core.
      
      	* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
      	docs/Changes-2.0.txt: Remove gdk_wm_protocols,
      	gdk_wm_delete_window functions, gdk_wm_take_focus,
      	use gdk_atom_intern() instead.
      
      	* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
      	  gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h}
      	  gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
      	  gtk/gtkselection.c
              Unexport gdk_selection_property, just use
      	gdk_atom_intern ("GDK_SELECTION").
      
      	* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}:
      	Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type,
      	GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate,
      	GdkVisualprivate, gdk_x11_gc_flush.
      
            Make a number of public exports of variables into functions
            to increase encapsulation.
      
      	* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h
      	gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer,
      	move to gdkinternals.h. Add gdk_device_get_core_pointer ().
      
      	* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
      	docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code,
      	gdk_error_warnings.
      
      	* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
      	  docs/Changes-2.0.txt:
      	s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
      	s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
      	Add gdk_x11_get_default_xdisplay().
      
      	* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c
      	win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c
      	gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class,
      	Don't export gdk_progclass, move --class command line
      	option and handling to common portion of GDK.
      
            Miscellaneous fixes:
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
      	g_return_val_if_fail that should have been g_return_if_fail.
      
      	* gdk/gdkinternals.h gdk/gdkprivate.h: Move
      	gdk_synthesize_window_state() to the semi-public gdkprivate.h.
      
      	* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
      	X11 dependency.
      
      	* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO:
      	Remove unused gdk_key_repeat_disable/restore.
      
      	* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c
      	x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
      	Remove unused gdk_null_window_warnings variable.
      
      	* gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox;
      	it can be retrieved from the repository; it is too far
      	from functional to be worth having people check out;
      	it would be easier to start from scratch, I suspect.
      
      	* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().
      
      	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
      	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
      	Fix some accidentally global variables and unused global variables.
      
      	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
      	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
      	Fix some accidentally global variables and unused global variables.
      
            Add some space for future expansion to multihead.
      
      	* gdk/gdkdrawable.h: Add four reserved function pointers
      	for future expansion of GdkDrawableClass.
      
      	* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
      	where we can put a GdkScreen * later.
      1bbf2ac7
  13. 10 Aug, 2001 1 commit
    • Havoc Pennington's avatar
      fix a typo. · f37a0627
      Havoc Pennington authored
      2001-08-07  Havoc Pennington  <hp@pobox.com>
      
      	* gtk/gtkfilesel.c (open_ref_dir): fix a typo.
      
      	* gtk/gtkplug.c (gtk_plug_init): remove setting of auto_shrink;
      	some fixage is needed here, but nothing simple. Owen understands
      	it. ;-)
      
              * gtk/gtkwindow.h, gtk/gtkwindow.c: Rework code and API for window
      	sizing and positioning.  Also, fix bug in compute_geometry_hints
      	(width/height confusion for setting min size).
      	(gtk_window_move): new function
      	(gtk_window_resize): new function
      	(gtk_window_get_size): new function
      	(gtk_window_get_position): new function
      	(gtk_window_parse_geometry): new function
      
       	* gtk/gtkwidget.c (gtk_widget_set_size_request): new function
       	(gtk_widget_get_size_request): new function
       	(gtk_widget_get_usize): delete, that was a short-lived function
       	;-)
       	(gtk_widget_set_usize): deprecate
       	(gtk_widget_set_uposition): deprecate, make it a trivial
      	gtk_window_move() wrapper
      	(gtk_widget_class_init): remove x/y/width/height properties,
      	add width_request height_request
      
              * demos/*: update to avoid deprecated functions
      
      	* gtk/gtklayout.c: add x/y child properties
      
      	* gtk/gtkfixed.c: add x/y child properties, and get rid of
      	uses of "gint16"
      
      	* tests/testgtk.c (create_window_sizing): lots of tweaks to window
      	sizing test
      
      	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ensure that
      	configure events on toplevel windows are always in root window
      	coordinates, following ICCCM spec that all synthetic events
      	are in root window coords already, while real events are
      	in parent window coords. Previously the code assumed that
      	coords of 0,0 were parent window coords, which was
      	really broken.
      
       	* gtk/gtkcontainer.c (gtk_container_get_focus_chain): fix
       	warning
      
       	* gdk/gdkwindow.h (GdkWindowHints): add GDK_HINT_USER_POS
       	and GDK_HINT_USER_SIZE so we can set USSize and USPosition
       	hints in gtk_window_parse_geometry()
      
       	* gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): support
       	new USER_POS USER_SIZE hints
      f37a0627
  14. 12 Jul, 2001 1 commit
  15. 05 Jul, 2001 1 commit
    • Owen Taylor's avatar
      Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)), not · c1a14d03
      Owen Taylor authored
      Wed Jul  4 22:35:40 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
      	  gtk/gtkwidget.c:
      	Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
      	not GTK_WIDGET_GET_ANCESTOR ... see
      	http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
      	Indicate the best practice in the docs for gtk_widget_get_toplevel().
      
      	* gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
      	so GtkPlug can give the correct signals when transforming
      	from a child to a toplevel.
      
      	* gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
      	reparentation correctly.
      
      	* gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
      	Propagate the previous_toplevel argument down properly.
      
      	* gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
      	of wrong atr list.
      
      	* gtk/gtkplug.[ch]: Add an "embedded" signal.
      
      	* gtk/gtksocket.[ch]: Add "child_added", "child_removed"
      	signals.
      
      	* gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add
      	functions gtk_plug_get_id(), gtk_socket_get_id(),
      	to avoid the user having to worry about realization,
      	and gdkx.h.
      
      	* tests/testsocket.c: Extend to try out the new signals
      	and gtk_plug/socket_get_id().
      
      	* gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
      	setting of underline attributes.
      
      	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
      	DestroyNotify events from SubstructureNotifyMask
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
      	Switch GDK_WINDOW_TYPE (window) as needed.
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
      	allow creation of toplevel windows as children of
      	foreign windows.
      
      	* gtk/gtkplug.c: Remove hacks involving changing private
      	fields of GdkWindow.
      
      	* gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make
      	exactly the same signals and notification
      	be emitted for local embedding as for inter-process
      	embedding.
      c1a14d03
  16. 30 Jun, 2001 1 commit
    • Owen Taylor's avatar
      Allow %NULL for style to mean "revert to default style" · fbfc3051
      Owen Taylor authored
      Tue Jun 26 19:39:03 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
      	for style to mean "revert to default style"
      
      	* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
      	  gtk_widget_restore_default_style): Make this functions
      	deprecated aliases for gtk_widget_set_style (widget, NULL).
      
      	* gtk/gtkwidget.[ch]: Remove:
      	   gtk_widget_set_default_style ()
      	   gtk_widget_push_style ()
      	   gtk_widget_pop_style ()
      	These functions interact are overriden by RC files, and
      	thus virtually useless, and complicated.
      
      Fri Jun 22 18:49:48 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkrc.c: Add a GtkRcContext structure to hold
      	most of the previous global variables in gtkrc.c. This is
      	in preparation for multi-head, since each screen can
      	have different GtkSettings and RC information.
      
      	* gtk/gtkrc.[ch]:
      
      	* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
      	GtkSettings parameter to GtkRcStyle::parse.
      
      	* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
      	Add two new settings gtk-theme-name, gtk-key-theme-name,
      	for RC files that are loaded by name after reading
      	the default RC files.
      
      	* gtk/gtkrc.c: Allow priorities for styles, as wll as
      	bindings.
      
      	* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
      	and use it by default for RC files loaded via
      	gtk-theme-name, gtk-key-theme-name.
      
      	* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
              gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
      	tests/testgtkrc: Require pathnames to be absolute.
      
      	* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
      	the source when parsing, since the operation of looking up a
      	pixmap from an RC file depends on the parsing context.
      
      	* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
      	reset RC styles on all widgets when files are reparsed.
      
      	* tests/testgtk.c (create_rc_file)
      	  gtk/gtkwindow.c (gtk_window_read_rcfiles):
      	Simplify, now that gtk_rc_reparse_all() resets styles on
      	all widgets itself.
      
      	* gtk/gtkmain.c (gtk_get_default_language): Fix broken
      	return value.
      
      	* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
      	GtkSettings argument.
      
      	* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
      	gtk_settings_get_global().
      
      	* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
      	to get the appropriate GtkSettings for a widget. (For now,
      	just gets the default GtkSetttings.)
      
      	* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
      	  gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
              changes.
      
      	* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
      	getting a style for a path without actually having a widget.
      	(Allows using a style for a subpart of a widget, for
      	example.)
      
      	* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
      	the RC files to be reloaded for just one GtkSettings
      	(not sure how useful this really is.)
      
      	* gtk/gtkrc.h: Deprecate
      	gtk_rc_add_widget_name/widget_class/class_style
      fbfc3051
  17. 28 Jun, 2001 1 commit
    • Havoc Pennington's avatar
      new function for mapping a window without fooling with stacking order, but · 796dc4b1
      Havoc Pennington authored
      2001-06-19  Havoc Pennington  <hp@pobox.com>
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
      	for mapping a window without fooling with stacking order, but
      	updating the "withdrawn" flag
      
      	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
      	filtering as soon as possible, moving move resize and wmspec_check
      	handling after the event filter.  Make default filter apply to all
      	events, not just those with no GdkWindow wrapped around the X
      	window. Fix a FIXME about how the window could be a pixmap using
      	RTTI; this of course assumes GDK_IS_WINDOW() is optimized.
      
      	Also, be robust against events not on a known GdkWindow.
      
      	* gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
      	gdk_x11_ungrab_server): export reference-counted server grabs, so
      	other people can grab server over a GDK function that also does
      	so.
      796dc4b1
  18. 08 Jun, 2001 1 commit
    • Owen Taylor's avatar
      Add a direction-changed signal, and gdk_keymap_get_current_direction(). · da562f4d
      Owen Taylor authored
      Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkkeys.[ch]: Add a direction-changed signal,
      	and gdk_keymap_get_current_direction().
      
      	* gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
      	  gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
      	the current locked group, use it to set the keymap
      	direction.
      
      	* gtk/gtksettings.c: Add a new gtk-split-cursor setting
      	to determine whether we draw a split cursor or use
      	a jumping cursor based on the current direction.
      
      	* gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
      	Obey the split cursor setting.
      
      Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimmulticontext.c (activate_cb): Only activate
      	when toggling on, not when toggling off... (#55906)
      
      Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_set_double_buffered):
      	s/gdk_window_begin_paint/gdk_window_begin_paint_region/
      	in docs. (#55812, Vitaly Tishkov)
      da562f4d
  19. 05 Jun, 2001 1 commit
  20. 04 Jun, 2001 2 commits
    • Havoc Pennington's avatar
      support button 6 and 7 for scroll left/right, from Thomas Broyer · 5d1c5446
      Havoc Pennington authored
      2001-06-04  Havoc Pennington  <hp@redhat.com>
      
      	* gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
      	and 7 for scroll left/right, from Thomas Broyer
      5d1c5446
    • Havoc Pennington's avatar
      Handle case where we need to parse the xsetting as if it were an RC file · 1b3c9214
      Havoc Pennington authored
      2001-05-10  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtksettings.c (gtk_settings_get_property): Handle case where
      	we need to parse the xsetting as if it were an RC file string.
      
      	* gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
      	value of palette from settings, not from static variable
      
      	* gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
      	xsettings translation table
      
      	* gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because
      	hardcoding the toolbar style conflicts with new customizable
      	toolbar style philosophy
      	(gtk_toolbar_class_init): add settings for default toolbar style;
      	these are used unless the app specifically forces a toolbar style
      
      	* gtk/gtksettings.c (settings_install_property_parser): only
      	return at the start if we warn and parser == NULL
      
      	* gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
      	palette changed handler so we don't notify dead color selections
      
      	* gtk/gtkstyle.c (gtk_default_draw_shadow): handle
      	xthickness/ythickness of 0 or 1 properly
      	(gtk_default_draw_resize_grip): clear the background behind the
      	resize grips, and align to bottom right if we square the
      	area to be drawn.
      
      	* gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on
      	statusbar label to 1, so it doesn't make toplevels resize oddly
      	(gtk_statusbar_size_request): add grip size to request
      	(gtk_statusbar_size_allocate): hack so the hbox still works with
      	the grip size in the request
      
      	* gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix
      	bug where showing all on a toplevel makes the toolbar
      	button text appear despite the toolbar mode
      
      	* gtk/gtkmenubar.c: add internal padding style property
      
      	* gtk/gtktoolbar.c: Add internal padding style property; add
      	shadow type style property
      
      	* gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
      	state; and put Container::border_width outside the frame
      
      	* gtk/gtktextview.c: don't draw focus rectangle if we're in
      	interior focus mode, we just use blinking cursor
      1b3c9214
  21. 30 May, 2001 1 commit
    • Owen Taylor's avatar
      Validate value from GDK settings against parameter spec. · 27bf39f9
      Owen Taylor authored
      Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtksettings.c (gtk_settings_get_property): Validate
      	value from GDK settings against parameter spec.
      
      	* gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
      	to temporary values and use g_value_transform(), since
      	thinking that GValue was going to be easy or efficient
      	to use was, of course, a mistake.
      
              * gtk/gtksettings.c: Add cursor blink setting.
      
      	* gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
      
      	* gtk/gtkentry.c: Add cursor blinking.
      
      	* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
      	cursor blink global settings.
      
      	* gtk/gtkentry.c (gtk_entry_button_press): Add notification
      	for :text_position in places where it is missing.
      27bf39f9
  22. 02 May, 2001 1 commit
  23. 28 Apr, 2001 1 commit
    • Havoc Pennington's avatar
      fix warning · 7e9b154f
      Havoc Pennington authored
      2001-04-27  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
      
      	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
      
      	* gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
      	line/para separators
      	(gtk_entry_create_layout): set single paragraph mode on the layout
      
      	* gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
      	spacing between the image and label; instead, inside a button box
      	the button will get extra space that will go there, but if people
      	configure button box for 0 chubbiness, then there's no spacing.
      
      	* gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
      	and min/max size style properties, so people can tune their
      	chubbiness.
      
      	* tests/testgtk.c (make_toolbar): remove calls to removed toolbar
      	functions
      
      	* gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
      	space_style, and button_relief into style properties, remove
      	functions for setting them
      
      	* gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop
      	it back down
      
      	* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
      	types from gtk_widget_style_get
      
      	* gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
      	with a style property.
      
      	* gdk/x11/gdkevents-x11.c: namespace the settings
      
      	* gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
      
      	* gtk/gtksettings.c (gtk_settings_class_init): remove code with
      	side effects from inside g_assert(), so that G_DISABLE_ASSERT can
      	be used. Also, translate doc strings for settings. Also, namespace
      	the double-click-time property. Also, remove bell properties crap.
      7e9b154f
  24. 25 Apr, 2001 1 commit
    • Owen Taylor's avatar
      Test for window == NULL in a number of cases. · 5dd0e3d6
      Owen Taylor authored
      Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for
      	window == NULL in a number of cases.
      
      	* tests/testdnd.c: Set module path for gdk-pixbuf.
      5dd0e3d6
  25. 18 Apr, 2001 1 commit
    • Owen Taylor's avatar
      Introduce an extra child of toplevel windows that serves to hold the focus · ebd3958c
      Owen Taylor authored
      Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h
      	  gdk/x11/gdkevents-x11.c: Introduce an extra child
      	of toplevel windows that serves to hold the focus to
      	avoid events being delivered to embedded windows.
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
      	some extra variables to clean up code and reduce the
      	number of casts.
      
      	* gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
      	guint for 1 bit bit fields, not gboolean.
      ebd3958c
  26. 02 Apr, 2001 1 commit
    • Owen Taylor's avatar
      Add GdkEventSetting event for notification of changes to system settings, · b52b326d
      Owen Taylor authored
      Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdkevents.h: Add GdkEventSetting event for notification
      	of changes to system settings, gdk_setting_get() to retrieve
      	a single system setting.
      
      	* gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
      	to the draft XSETTINGS mechanism.
      
      	* gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
      	XSETTINGS.
      
      	* gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
      	of GDK settings changes to the GtkSettings object.
      
      	* gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
      	double-click-timeout property to GDK.
      
      	* gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
      	Define GDK boxed types here.
      
      	* gdk/Makefile.am gdk/makeenums.pl: Generate source files
      	gdk/gdkenumtypes.[ch] for enum definitions.
      
      	* gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
      	* gtk/gtk-boxed.defs: Comment out GDK types
      	* gtk/gtktypeutils.h: Remove GDK types
      	* gtk/Makefile.am: No longer scan GDK headers for enumerataions
      b52b326d
  27. 29 Mar, 2001 1 commit
  28. 09 Mar, 2001 2 commits
    • Owen Taylor's avatar
      Remove old XIM code. · 79fed460
      Owen Taylor authored
      Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
      	gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c
      	gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
      	gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
      
      	* gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
      	gdk_im/gdk_ic.
      79fed460
    • Alexander Larsson's avatar
      Document expose event->region change and that gtk_widget_event doesn't · e7d4a7f9
      Alexander Larsson authored
      2001-03-09  Alexander Larsson  <alexl@redhat.com>
      
      	* docs/Changes-2.0.txt:
      	Document expose event->region change and that gtk_widget_event
      	doesn't allow passing expose events.
      
      	* gdk/gdkevents.h:
      	Add region to expose event.
      
      	* gdk/gdkevents.c:
      	Handle event->region in gdk_event_copy() and gdk_event_free().
      
      	* gdk/gdkwindow.c (gdk_window_process_updates_internal):
      	Generate expose_event->region when creating expose events.
      
      	* gdk/x11/gdkevents-x11.c:
      	Generate expose events with regions when translating X events.
      
      	* gtk/gtkcontainer.[ch]:
      	Default expose handler that propagates expose events to NO_WINDOW
      	children. New function gtk_container_propagate_expose()
      
      	* gtk/gtkwidget.[ch]:
      	Moved gtk_widget_event implementation to gtk_widget_event_internal.
      	gtk_widget_event calls gtk_widget_event_internal but doesn't allow
      	expose events. New function gtk_widget_send_expose() to send expose
      	events. New function gtk_widget_region_intersect() to calculate
      	window/region intersections.
      
      	* gtk/gtkmain.c (gtk_main_do_event):
      	Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
      	Use gtk_widget_send_expose() to send expose events.
      
      	* gtk/gtkbin.c:
      	* gtk/gtkbox.c:
      	* gtk/gtkfixed.c:
      	* gtk/gtkimagemenuitem.c:
      	* gtk/gtklist.c:
      	* gtk/gtkpacker.c:
      	* gtk/gtktable.c:
      	* gtk/gtktree.c:
      	Remove expose handler, using the default container implementation
      	instead.
      
      	* gtk/gtkbutton.c:
      	* gtk/gtkcheckbutton.c:
      	* gtk/gtkeventbox.c:
      	* gtk/gtkfixed.c:
      	* gtk/gtkhandlebox.c:
      	* gtk/gtklayout.c:
      	* gtk/gtklistitem.c:
      	* gtk/gtkmenu.c:
      	* gtk/gtkmenubar.c:
      	* gtk/gtkmenuitem.c:
      	* gtk/gtknotebook.c:
      	* gtk/gtkoptionmenu.c:
      	* gtk/gtkpaned.c:
      	* gtk/gtkscrolledwindow.c:
      	* gtk/gtktogglebutton.c:
      	* gtk/gtktoolbar.c:
      	* gtk/gtktreeitem.c:
      	* gtk/gtkviewport.c:
      	Chain expose handler to parent class handler. Use
      	gtk_container_propagate_expose() to propagate exposes.
      
      	* gtk/gtkclist.c (check_exposures):
      	* gtk/gtktext.c (process_exposes):
      	Use gtk_widget_send_expose instead of gtk_widget_event.
      e7d4a7f9
  29. 03 Mar, 2001 2 commits
    • Owen Taylor's avatar
      Detectable auto-repeat - make a repeating key generate · 445e90fa
      Owen Taylor authored
      Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c
      	  gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
      
      	Detectable auto-repeat - make a repeating key generate
      	press/press/press/release instead of press/release pairs.
      
      	If we have Xkb and XkbSetDectableAutoRepeat supports
      	that, we do it that way. Otherwise, when we get
      	a release event, we check ahead with XPending to see
      	if the next key is a KeyPress with the same keycode
      	and timestamp. (Not 100% reliable, but pretty close.)
      
      Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
      
        	* gtk/gtkmain.c (gtk_propagate_event): Only do special
              special key-press grab handling for widgets within
              GtkWindows. Otherwise, fall through to normal case.
      
              This prevents key events being sent twice to GtkInvisible
              widgets, which can cause all sorts of mischief.
      445e90fa
    • Owen Taylor's avatar
      Unshift the group when extracting it from the X keyboard event. · 8db8ee74
      Owen Taylor authored
      Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
      	the group when extracting it from the X keyboard event.
      
      	* modules/input/Makefile.am modules/input/imipa.c:
      	Simple module for entering IPA. (Do we need a
      	gtk-stupid-input-tricks CVS module?)
      8db8ee74
  30. 02 Mar, 2001 1 commit
    • Havoc Pennington's avatar
      use _gdk_region_get_xrectangles() · 8860615d
      Havoc Pennington authored
      2001-03-02  Havoc Pennington  <hp@redhat.com>
      
      	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
      	_gdk_region_get_xrectangles()
      
      	* gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
      
      	* gtk/testgtk.c (create_shapes): add test for shape_combine_region
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
      	function, contributed by Ron Steinke
      
      	* gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
      	gdk_net_wm_supports
      
      	* gdk/gdkregion-generic.c (gdk_region_get_rectangles):
      	New function, contributed by Ron Steinke
      
      	* gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function,
      	used to line up the text in the entry when using the entry for
      	editable sheet cell hacks
      
      	* gtk/testgtk.c (create_entry): test the activate_default setting
      	on GtkEntry
      
      	* gtk/gtkentry.c (gtk_entry_set_activates_default): New function to
      	cause the entry to activate the default button for a dialog when
      	activated
      	(gtk_entry_get_activates_default): new function
      8860615d
  31. 27 Feb, 2001 1 commit
    • Havoc Pennington's avatar
      test the window state stuff · 75d79abf
      Havoc Pennington authored
      2001-02-26  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/testgtk.c: test the window state stuff
      
      	* gtk/gtkwindow.c (gtk_window_present): new function, makes a
      	window come to the user's attention as if it were just created
      	(gtk_window_iconify): new function
      	(gtk_window_deiconify): new function
      	(gtk_window_stick): new function
      	(gtk_window_unstick): new function
      	(gtk_window_maximize): new function
      	(gtk_window_unmaximize): new function
      
      	* gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
      
      	* gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
      
      	* gdk/x11/gdkevents-x11.c: create window state events when
      	appropriate
      	(gdk_wmspec_supported): new function
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
      	iconification before showing the window
      	(gdk_window_deiconify): new function
      	(gdk_window_stick): new function
      	(gdk_window_unstick): new function
      	(gdk_window_maximize): new function
      	(gdk_window_unmaximize): new function
      
      	* gdk/gdkwindow.c: store the window state in the window;
      	change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
      	window->mapped.
      	(gdk_window_get_state): return the current window state
      
      	* gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
      	(gdk_event_get_state): handle GDK_WINDOW_STATE
      	(gdk_synthesize_window_state): function to create the window state
      	events
      
      	* gdk/gdkevents.h (struct _GdkEventWindowState): new type of
      	event, for changes to "window state" such as maximized, sticky,
      	etc.
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
      	focuses a window
      
      	* gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function,
      	finds out if we support a given WM spec hint
      75d79abf
  32. 02 Feb, 2001 1 commit
    • Owen Taylor's avatar
      Get rid of a bunch of g_strdup_printf("%s%s") in favor of g_strconcat(). · a1a252ce
      Owen Taylor authored
      Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
      	a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
      
      	* gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
      	since some people set $(libdir) separately. (#1290, David Kaelbling)
      
      Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
      	defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
      	MAXPATHLEN, but the code here depends on a fixed value.)
      	(#4524)
      
      Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
      	where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
      
      Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkctree.c (real_tree_move): If the node being moved isn't
      	viewable there is no way that moving the node will cause the
      	focus row to become not viewable, so omit check on the visibility
      	of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
      
      Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
      	selection before inserting new text.
      
      Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
      	Make the sensitivity of the reparented child track that of
      	the original parent menu item. (#34218, David Hodson)
      
      	* gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
      	the case where the current item is destroyed properly.
      
      	* gtk/gtkoptionmenu.c: Some additional code cleanups and fix
      	some edge cases with child-less menuitems.
      
      Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
      	key pop down window. (#12074, Jon K Hellan)
      
      Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
      	toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan)
      	The solution here isn't perfect - you get an extraneous
      	emission of "toggle", which could conceivably confuse an app,
      	but better than the current situation. LXR search seems to
      	indicate that no apps in GNOME CVS connect to "toggle".
      
      Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
              gtk_public_h_sources to directly here to avoid warning when
              building srcdir != builddir. (#9656)
      
      Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkrange.c: Patch from Kipp Hickman to make the event
      	handlers in gtkrange.c return the proper values (TRUE == handled)
      	(#10316).
      
      	This is just the tip of the iceberg, but gtkrange.c is the
      	most common place where the propagation is problematical,
      	and also a place where it is almost certainly safe to change
      	this in the stable branch.
      
      	(You don't want right click popups on a range control or anything...)
      
      Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktext.c (clear_focus_area): We need to clear the focus
      	area on focus out, even if a background pixmap isn't set.
      	(#13941)
      
      Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
      	to deal with setting the shape properly when scrolling arrows are
      	turned on, but not visible because there is sufficient space.
      	(#13432)
      
      Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
      	items with submenus, destroy the item along with the submenu.
      	(#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...'
      	properly.
      
      	* gtk/testgtk.c (menu_items): Add a dummy branch that we delete
      	later.
      
      Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
      	the focus widget sometimes wasn't drawn with the default if there
      	was no default widget.
      
      	* gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
      	unreference pixmaps.
      
      	* gtk/gtkstyle.c (gtk_style_realize): Reference colormap
      	for some extra safety.
      
      Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
      	the text of a cell to the old pointer value better, by
      	copying the new text before freeing the old text. Some code
      	cleanup. (#8079, Karl Nelson)
      
      Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
      	gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
      
      Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkmenu.c (gtk_menu_remove): When removing an
      	item from a menu, check to see if it matches
      	menu->old_active_menu_item, and if so, unref and clear
      	old_active_menu_item (Patch from Pavel Cisler)
      
      	* gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset
      	menu_shell->active_menu_item, if it is the child being
      	removed. (Patch based on that of Gene Ragan, #50337)
      a1a252ce
  33. 06 Dec, 2000 1 commit
    • Havoc Pennington's avatar
      add gdkkeys.[hc] · 36aac017
      Havoc Pennington authored
      2000-12-03  Havoc Pennington  <hp@pobox.com>
      
      * gdk/Makefile.am: add gdkkeys.[hc]
      
      * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
      files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
      
      * acconfig.h, configure.in: add checks and command line options
      for XKB
      
      * gdk/x11/gdkkeys-x11.c: Implement the above functions
      
      * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
      and group in the key event
      
      * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
      field with the low-level hardware key code, and a group
      field with the keyboard group
      
      * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
      and declare a couple globals used for keymap handling
      
      * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
      hold down Shift-Control and type a hex number to get a Unicode
      character corresponding to the hex number
      (gtk_im_context_simple_get_preedit_string): Fix cursor position
      (return bytes not chars)
      36aac017
  34. 05 Dec, 2000 1 commit
    • Owen Taylor's avatar
      Fix link to PNG home, remove reference to fribidi. · a4b2a6a8
      Owen Taylor authored
      Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* INSTALL: Fix link to PNG home, remove reference
      	to fribidi.
      
      	* gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
      
      	* gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
      	tested.)
      
      	* gtk/gtkcheckmenuitem.c: Permanently turn on
      	always_show_toggle.
      
      	* gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to
      	be NULL. (Vladimir Klebanov, #26545)
      
      	* gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix
      	some signed/unsigned comparison problems. (#6510,
      	David Kaelbling)
      
      	* gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
      	return type to boolean (Oskar Liljeblad, #18648)
      a4b2a6a8
  35. 04 Oct, 2000 1 commit
    • Owen Taylor's avatar
      Add gdk_window_iconify. · 0d158864
      Owen Taylor authored
      Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
      	Add gdk_window_iconify.
      
      	* gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
      	(gdk_window_set_geometry_hints): Add win_gravity
      	to geometry structure.
      
      	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
      	Implement _NET_WM_PING.
      
      	* gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
      	Set _NET_WM_PID on the client leader.
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
      	Handle UTF-8 better.
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
      	UTF-8 better, set _NET_WM_NAME as well. Only set
      	icon name if it hasn't previously been explicitely
      	set.
      0d158864
  36. 14 Sep, 2000 1 commit
    • Owen Taylor's avatar
      Remove g_convert (moved to glib) and now useless utf_to_latin1() · 39339f14
      Owen Taylor authored
      Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
      	glib) and now useless utf_to_latin1() latin1_to_utf()
      
      	* gtk/gtktextview.[ch]: Change ::move_insert and
      	::delete_text action signals to ::move and ::delete;
      	create the signals with the right enumeration type,
      	not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
      	C-v bindings, change Home, End to move to beginning/end
      	of line, Add C-Home C-End to move to beginning/end
      	of buffer. Change ::cut_text to ::cut_clipboard, etc;
      	combine ::scroll_text into ::move; use new GtkSelectionData
      	functions to simplify DND text handling.
      
      	* gtk/gtkenums.h gtk/gtktextview.h: Move movement,
      	deletion enumerations here, rename enumeration values to
      	be consistently plural.
      
      	* gtk/gtktextbuffer.c: Use new clipboard interfaces
      	for cut/copy/paste and primary selection.
      
      	* gtk/gtktextbuffer.[ch]: Remove excess time and
      	'interactive' arguments from cut/copy/paste;
      	rename cut to cut_clipboard, etc; remove
      	gtk_text_buffer_get_clipboard_contents().
      
      	* gtk/gtktextlayout.[ch]: Add
      	gtk_text_layout_move_iter_to_line_end() to move	the iter to
      	line ends.
      
      	* gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
      	Functions to set or get a UTF-8 string on the selection
      	data.
      
      	* gtk/gtkclipboard.[ch]: New, simplified selection handling
      	interfaces.
      
      	* gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
      	created widgets - one of these is useless if we don't.
      
      	* gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
      	a public function clear all targets registered for the
      	widget.
      
      	* gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
      	Never call gtk_widget_realize() - that was just asking
      	for bizarre side-effects.
      
      	* gtk/gtkselection.c (gtk_selection_owner_set): Call
      	gdk_selection_owner_set even if the widget is the
      	same so that we reliably update the timestamp on
      	the server.
      
      	* gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a
      	gdk_x11_get_server_time() function.
      
      	* gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
      	gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
      	Add some tricky filtering on serial numbers for
      	selection clear events to fix up long-standard
      	race condition FIXME's in gtkselection.c.
      
      	* gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
      	routines to convert from utf8 to compound text or
      	STRING and from a text property to UTF-8.
      
      	* gtk/gtkmain.[ch] (gtk_get_current_event_time): Add
      	a convenience function gdk_get_current_event_time().
      
      	* gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
      	and free selection_data->data properly
      39339f14
  37. 26 Jul, 2000 1 commit