summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/keybindings/msd-keybindings-manager.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/keybindings/msd-keybindings-manager.c b/plugins/keybindings/msd-keybindings-manager.c
index 89ae0bc..f2a1c00 100644
--- a/plugins/keybindings/msd-keybindings-manager.c
+++ b/plugins/keybindings/msd-keybindings-manager.c
@@ -538,6 +538,7 @@ msd_keybindings_manager_start (MsdKeybindingsManager *manager,
{
GdkDisplay *dpy;
GdkScreen *screen;
+ GdkWindow *window;
int screen_num;
int i;
@@ -549,9 +550,13 @@ msd_keybindings_manager_start (MsdKeybindingsManager *manager,
for (i = 0; i < screen_num; i++) {
screen = gdk_display_get_screen (dpy, i);
- gdk_window_add_filter (gdk_screen_get_root_window (screen),
+ window = gdk_screen_get_root_window(screen);
+ gdk_window_add_filter (window,
(GdkFilterFunc) keybindings_filter,
manager);
+ gdk_error_trap_push ();
+ XSelectInput(GDK_DISPLAY_XDISPLAY(dpy), GDK_WINDOW_XID(window), KeyPressMask);
+ gdk_error_trap_pop_ignored ();
}
manager->priv->screens = get_screens_list ();