Set the window level depending on the type hint.

2006-07-24  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c (gdk_window_set_type_hint): Set the
	window level depending on the type hint.

	* gdk/quartz/gdkevents-quartz.c (gdk_keyboard_grab,
	pointer_ungrab_internal): Only break the grab if the new window is
	a different one.
	(gdk_event_translate): Catch the case where the entire app loses
	focus and break any grabs. Only do implicit grabs when the event
	mask has both press and release.

	* gdk/quartz/gdkkeys-quartz.c (translate_keysym):
	* gdk/quartz/gdkselection-quartz.c:

        * gdk/quartz/GdkQuartzWindow.c
	([GdkQuartzWindow -windowDidResignKey:]): Use this to update the
	focus window instead of resignMain, fixes the case where other apps
	uses focus follows mouse (like the terminal can).
This commit is contained in:
Richard Hult
2006-07-24 10:46:21 +00:00
committed by Richard Hult
parent 247fd362ba
commit 7a3c18ab7b
6 changed files with 153 additions and 66 deletions

View File

@ -497,15 +497,14 @@ gdk_keymap_lookup_key (GdkKeymap *keymap,
return 0;
}
#define GET_KEYVAL(keycode, group, level) (keyval_array[(keycode * KEYVALS_PER_KEYCODE + group * 2 + level)])
static guint
translate_keysym (guint hardware_keycode,
gint group,
GdkModifierType state,
guint *effective_group,
guint *effective_level)
gint *effective_group,
gint *effective_level)
{
gint level;
guint tmp_keyval;