[gnome-shell] windowManager: Avoid code duplication
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] windowManager: Avoid code duplication
- Date: Thu, 19 May 2016 15:35:16 +0000 (UTC)
commit bf8d30603e57bd1aa6ef25e1528f7135dfb835fc
Author: Florian Müllner <fmuellner gnome org>
Date: Thu May 19 16:36:46 2016 +0200
windowManager: Avoid code duplication
The various switcher keybindings are handled identically, except for
the popup that is shown; update the code to reflect that instead of
duplicating the code again and again.
https://bugzilla.gnome.org/show_bug.cgi?id=730739
js/ui/windowManager.js | 78 +++++++++++++++++++++--------------------------
1 files changed, 35 insertions(+), 43 deletions(-)
---
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index f8aef2d..51ce482 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -850,34 +850,34 @@ const WindowManager = new Lang.Class({
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('switch-applications',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startAppSwitcher));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('switch-group',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startAppSwitcher));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('switch-applications-backward',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startAppSwitcher));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('switch-group-backward',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startAppSwitcher));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('switch-windows',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startWindowSwitcher));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('switch-windows-backward',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startWindowSwitcher));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('cycle-windows',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startWindowCycler));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('cycle-windows-backward',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startWindowCycler));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('cycle-group',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startGroupCycler));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('cycle-group-backward',
Shell.ActionMode.NORMAL,
- Lang.bind(this, this._startGroupCycler));
+ Lang.bind(this, this._startSwitcher));
this.setCustomKeybindingHandler('switch-panels',
Shell.ActionMode.NORMAL |
Shell.ActionMode.OVERVIEW |
@@ -1756,45 +1756,37 @@ const WindowManager = new Lang.Class({
this._windowMenuManager.showWindowMenuForWindow(window, menu, rect);
},
- _startAppSwitcher : 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.AppSwitcherPopup();
-
- if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask()))
- tabPopup.destroy();
- },
-
- _startWindowSwitcher : 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();
- },
-
- _startWindowCycler : 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.WindowCyclerPopup();
+ _startSwitcher: function(display, screen, window, binding) {
+ let constructor = null;
+ switch (binding.get_name()) {
+ case 'switch-applications':
+ case 'switch-applications-backward':
+ case 'switch-group':
+ case 'switch-group-backward':
+ constructor = AltTab.AppSwitcherPopup;
+ break;
+ case 'switch-windows':
+ case 'switch-windows-backward':
+ constructor = AltTab.WindowSwitcherPopup;
+ break;
+ case 'cycle-windows':
+ case 'cycle-windows-backward':
+ constructor = AltTab.WindowCyclerPopup;
+ break;
+ case 'cycle-group':
+ case 'cycle-group-backward':
+ constructor = AltTab.GroupCyclerPopup;
+ break;
+ }
- if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask()))
- tabPopup.destroy();
- },
+ if (!constructor)
+ return;
- _startGroupCycler : 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.GroupCyclerPopup();
+ let tabPopup = new constructor();
if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask()))
tabPopup.destroy();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]