From e5ca53e56c3a1c97bbfd801ee7996c7424089fc0 Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Mon, 4 Mar 2013 14:41:55 +0100 Subject: [PATCH] status/keyboard: Don't allow the switcher in the message tray SwitcherPopup relies on being able to pushModal(), setting the stage input mode to FULLSCREEN, and then doing regular event processing on the actor it adds to uiGroup. But MessageTray uses GrabHelper which sets up a 'captured-event' handler on the stage and thus gets all events itself. This, of course, breaks the switcher if it's brought up in the message tray so, for now, we'll just prevent it from being used there. https://bugzilla.gnome.org/show_bug.cgi?id=693907 --- js/ui/status/keyboard.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js index eb668fa19..92439052e 100644 --- a/js/ui/status/keyboard.js +++ b/js/ui/status/keyboard.js @@ -337,14 +337,14 @@ const InputSourceIndicator = new Lang.Class({ Main.wm.addKeybinding('switch-input-source', new Gio.Settings({ schema: "org.gnome.desktop.wm.keybindings" }), Meta.KeyBindingFlags.REVERSES, - Shell.KeyBindingMode.ALL, + Shell.KeyBindingMode.ALL & ~Shell.KeyBindingMode.MESSAGE_TRAY, Lang.bind(this, this._switchInputSource)); this._keybindingActionBackward = Main.wm.addKeybinding('switch-input-source-backward', new Gio.Settings({ schema: "org.gnome.desktop.wm.keybindings" }), Meta.KeyBindingFlags.REVERSES | Meta.KeyBindingFlags.REVERSED, - Shell.KeyBindingMode.ALL, + Shell.KeyBindingMode.ALL & ~Shell.KeyBindingMode.MESSAGE_TRAY, Lang.bind(this, this._switchInputSource)); this._settings = new Gio.Settings({ schema: DESKTOP_INPUT_SOURCES_SCHEMA }); this._settings.connect('changed::' + KEY_CURRENT_INPUT_SOURCE, Lang.bind(this, this._currentInputSourceChanged));