From e98e5d0d6232da905bfec8023fc8ef557893b77d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Tue, 31 May 2016 17:12:20 +0200
Subject: [PATCH] alternateTab: Adjust to gnome-shell changes
The code de-duplication in commit bf8d30603e57b broke the extension,
fix by duplicating the code here now :-(
(It's not really that bad though ...)
https://bugzilla.gnome.org/show_bug.cgi?id=767077
---
extensions/alternate-tab/extension.js | 29 +++++++++++++++++++++--------
1 file changed, 21 insertions(+), 8 deletions(-)
diff --git a/extensions/alternate-tab/extension.js b/extensions/alternate-tab/extension.js
index 79fde0a..7a5ee17 100644
--- a/extensions/alternate-tab/extension.js
+++ b/extensions/alternate-tab/extension.js
@@ -7,6 +7,7 @@ const Shell = imports.gi.Shell;
const AltTab = imports.ui.altTab;
const Main = imports.ui.main;
+const WindowManager = imports.ui.windowManager;
let injections = {};
@@ -33,20 +34,32 @@ function enable() {
return injections['_keyPressHandler'].call(this, keysym, action);
};
- setKeybinding('switch-applications', Lang.bind(Main.wm, Main.wm._startWindowSwitcher));
- setKeybinding('switch-group', Lang.bind(Main.wm, Main.wm._startWindowSwitcher));
- setKeybinding('switch-applications-backward', Lang.bind(Main.wm, Main.wm._startWindowSwitcher));
- setKeybinding('switch-group-backward', Lang.bind(Main.wm, Main.wm._startWindowSwitcher));
+ Main.wm._forcedWindowSwitcher = function(display, screen, window, binding) {
+ /* prevent a corner case where both popups show up at once */
+ if (this._workspaceSwitcherPopup != null)
+ this._workspaceSwitcherPopup.destroy();
+
+ let tabPopup = new AltTab.WindowSwitcherPopup();
+
+ if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask()))
+ tabPopup.destroy();
+ };
+
+ setKeybinding('switch-applications', Lang.bind(Main.wm, Main.wm._forcedWindowSwitcher));
+ setKeybinding('switch-group', Lang.bind(Main.wm, Main.wm._forcedWindowSwitcher));
+ setKeybinding('switch-applications-backward', Lang.bind(Main.wm, Main.wm._forcedWindowSwitcher));
+ setKeybinding('switch-group-backward', Lang.bind(Main.wm, Main.wm._forcedWindowSwitcher));
}
function disable() {
var prop;
- setKeybinding('switch-applications', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
- setKeybinding('switch-group', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
- setKeybinding('switch-applications-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
- setKeybinding('switch-group-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
+ setKeybinding('switch-applications', Lang.bind(Main.wm, Main.wm._startSwitcher));
+ setKeybinding('switch-group', Lang.bind(Main.wm, Main.wm._startSwitcher));
+ setKeybinding('switch-applications-backward', Lang.bind(Main.wm, Main.wm._startSwitcher));
+ setKeybinding('switch-group-backward', Lang.bind(Main.wm, Main.wm._startSwitcher));
for (prop in injections)
AltTab.WindowSwitcherPopup.prototype[prop] = injections[prop];
+ delete Main.wm._forcedWindowSwitcher;
}
--
2.7.4