[gnome-settings-daemon/shell-keygrab: 4/5] keygrab: Expose GrabModes in grab_key()
- From: Florian MÃllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon/shell-keygrab: 4/5] keygrab: Expose GrabModes in grab_key()
- Date: Wed, 5 Dec 2012 08:43:31 +0000 (UTC)
commit c7c715ee073b94074752baed7fe3a59944672f61
Author: Florian MÃllner <fmuellner gnome org>
Date: Mon Dec 3 00:02:06 2012 +0100
keygrab: Expose GrabModes in grab_key()
plugins/common/gsd-keygrab.c | 10 ++++++----
plugins/common/gsd-keygrab.h | 13 +++++++++++++
plugins/keyboard/gsd-input-sources-switcher.c | 2 +-
plugins/media-keys/gsd-media-keys-manager.c | 2 +-
4 files changed, 21 insertions(+), 6 deletions(-)
---
diff --git a/plugins/common/gsd-keygrab.c b/plugins/common/gsd-keygrab.c
index f1fb0ce..ec67063 100644
--- a/plugins/common/gsd-keygrab.c
+++ b/plugins/common/gsd-keygrab.c
@@ -220,6 +220,7 @@ static void
grab_key_internal (Key *key,
gboolean grab,
GsdKeygrabFlags flags,
+ GsdKeygrabModes modes,
GSList *screens)
{
#if 0
@@ -276,13 +277,13 @@ grab_key_internal (Key *key,
grab_data = g_new (KeygrabData, 1);
grab_data->keysym = key->keysym;
grab_data->modifiers = modifiers;
- grab_data->modes = grab ? ~0 : 0;
+ grab_data->modes = grab ? modes : 0;
get_key_grabber ();
if (grab)
shell_key_grabber_call_grab_key (shell_key_grabber,
- key->keysym, modifiers, ~0,
+ key->keysym, modifiers, modes,
NULL,
grab_key_complete, grab_data);
else
@@ -344,16 +345,17 @@ grab_key_internal (Key *key,
void
grab_key_unsafe (Key *key,
GsdKeygrabFlags flags,
+ GsdKeygrabModes modes,
GSList *screens)
{
- grab_key_internal (key, TRUE, flags, screens);
+ grab_key_internal (key, TRUE, flags, modes, screens);
}
void
ungrab_key_unsafe (Key *key,
GSList *screens)
{
- grab_key_internal (key, FALSE, 0, screens);
+ grab_key_internal (key, FALSE, 0, 0, screens);
}
static gboolean
diff --git a/plugins/common/gsd-keygrab.h b/plugins/common/gsd-keygrab.h
index eaba236..345d892 100644
--- a/plugins/common/gsd-keygrab.h
+++ b/plugins/common/gsd-keygrab.h
@@ -40,8 +40,21 @@ typedef enum {
GSD_KEYGRAB_SYNCHRONOUS = 1 << 1
} GsdKeygrabFlags;
+typedef enum {
+ GSD_KEYGRAB_MODE_NONE = 0,
+ GSD_KEYGRAB_MODE_NORMAL = 1 << 0,
+ GSD_KEYGRAB_MODE_OVERVIEW = 1 << 1,
+ GSD_KEYGRAB_MODE_LOCK_SCREEN = 1 << 2,
+ GSD_KEYGRAB_MODE_UNLOCK_SCREEN = 1 << 3,
+ GSD_KEYGRAB_MODE_LOGIN_SCREEN = 1 << 4,
+ GSD_KEYGRAB_MODE_MESSAGE_TRAY = 1 << 5,
+ GSD_KEYGRAB_MODE_SYSTEM_MODAL = 1 << 6,
+ GSD_KEYGRAB_MODE_LOOKING_GLASS = 1 << 7
+} GsdKeygrabModes;
+
void grab_key_unsafe (Key *key,
GsdKeygrabFlags flags,
+ GsdKeygrabModes modes,
GSList *screens);
void ungrab_key_unsafe (Key *key,
diff --git a/plugins/keyboard/gsd-input-sources-switcher.c b/plugins/keyboard/gsd-input-sources-switcher.c
index cff2359..ec4bffe 100644
--- a/plugins/keyboard/gsd-input-sources-switcher.c
+++ b/plugins/keyboard/gsd-input-sources-switcher.c
@@ -517,7 +517,7 @@ grab_key (Key *key,
gdk_x11_display_error_trap_push (display);
- grab_key_unsafe (key, GSD_KEYGRAB_ALLOW_UNMODIFIED | GSD_KEYGRAB_SYNCHRONOUS, screens);
+ grab_key_unsafe (key, GSD_KEYGRAB_ALLOW_UNMODIFIED | GSD_KEYGRAB_SYNCHRONOUS, ~0, screens);
gdk_x11_display_error_trap_pop_ignored (display);
diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
index 663f64f..f95d118 100644
--- a/plugins/media-keys/gsd-media-keys-manager.c
+++ b/plugins/media-keys/gsd-media-keys-manager.c
@@ -411,7 +411,7 @@ grab_media_key (MediaKey *key,
return need_flush;
}
- grab_key_unsafe (key->key, GSD_KEYGRAB_NORMAL, manager->priv->screens);
+ grab_key_unsafe (key->key, GSD_KEYGRAB_NORMAL, ~0, manager->priv->screens);
g_free (tmp);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]