keybindings: Add external grab API

During compositor grabs, all global keybindings that don't go
through mutter's keybinding system are blocked. To allow other
processes to make use of it, gnome-shell will expose a simple
grab API on DBus; for this, add API to grab key combos directly
instead of parsing accelerators stored in GSettings.

https://bugzilla.gnome.org/show_bug.cgi?id=643111
This commit is contained in:
Florian Müllner
2012-08-28 15:28:11 +02:00
parent 4df3e987c6
commit a39cabfadb
6 changed files with 223 additions and 7 deletions

View File

@@ -139,6 +139,11 @@ guint meta_display_add_keybinding (MetaDisplay *display,
gboolean meta_display_remove_keybinding (MetaDisplay *display,
const char *name);
guint meta_display_grab_accelerator (MetaDisplay *display,
const char *accelerator);
gboolean meta_display_ungrab_accelerator (MetaDisplay *display,
guint action_id);
guint meta_display_get_keybinding_action (MetaDisplay *display,
unsigned int keycode,
unsigned long mask);

View File

@@ -93,6 +93,8 @@ guint meta_unsigned_long_hash (gconstpointer v);
const char* meta_frame_type_to_string (MetaFrameType type);
const char* meta_gravity_to_string (int gravity);
char* meta_external_binding_name_for_action (guint keybinding_action);
#include <libintl.h>
#define _(x) dgettext (GETTEXT_PACKAGE, x)
#define N_(x) x