diff --git a/js/ui/altTab.js b/js/ui/altTab.js index efbb23827..b11c4f13f 100644 --- a/js/ui/altTab.js +++ b/js/ui/altTab.js @@ -58,6 +58,14 @@ const AppSwitcherPopup = new Lang.Class({ this._currentWindow = -1; this.thumbnailsVisible = false; + + let apps = Shell.AppSystem.get_default().get_running (); + + if (apps.length == 0) + return; + + this._switcherList = new AppSwitcher(apps, this); + this._items = this._switcherList.icons; }, _allocate: function (actor, box, flags) { @@ -99,20 +107,6 @@ const AppSwitcherPopup = new Lang.Class({ } }, - _createSwitcher: function() { - let apps = Shell.AppSystem.get_default().get_running (); - - if (apps.length == 0) - return false; - - this._switcherList = new AppSwitcher(apps, this); - this._items = this._switcherList.icons; - if (this._items.length == 0) - return false; - - return true; - }, - _initialSelection: function(backward, binding) { if (binding == 'switch-group') { if (backward) { @@ -365,9 +359,18 @@ const WindowSwitcherPopup = new Lang.Class({ Name: 'WindowSwitcherPopup', Extends: SwitcherPopup.SwitcherPopup, - _init: function(items) { - this.parent(items); + _init: function() { + this.parent(); this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell.window-switcher' }); + + let windows = this._getWindowList(); + + if (windows.length == 0) + return; + + let mode = this._settings.get_enum('app-icon-mode'); + this._switcherList = new WindowList(windows, mode); + this._items = this._switcherList.icons; }, _getWindowList: function() { @@ -375,22 +378,6 @@ const WindowSwitcherPopup = new Lang.Class({ return global.display.get_tab_list(Meta.TabList.NORMAL, workspace); }, - _createSwitcher: function() { - let windows = this._getWindowList(); - - if (windows.length == 0) - return false; - - let mode = this._settings.get_enum('app-icon-mode'); - this._switcherList = new WindowList(windows, mode); - this._items = this._switcherList.icons; - - if (this._items.length == 0) - return false; - - return true; - }, - _initialSelection: function(backward, binding) { if (binding == 'switch-windows-backward' || backward) this._select(this._items.length - 1); diff --git a/js/ui/ctrlAltTab.js b/js/ui/ctrlAltTab.js index fc884ae17..85e39dfbc 100644 --- a/js/ui/ctrlAltTab.js +++ b/js/ui/ctrlAltTab.js @@ -140,9 +140,10 @@ const CtrlAltTabPopup = new Lang.Class({ Name: 'CtrlAltTabPopup', Extends: SwitcherPopup.SwitcherPopup, - _createSwitcher: function() { + _init: function(items) { + this.parent(items); + this._switcherList = new CtrlAltTabSwitcher(this._items); - return true; }, _initialSelection: function(backward, binding) { diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js index 888995999..ea02f6f8f 100644 --- a/js/ui/status/keyboard.js +++ b/js/ui/status/keyboard.js @@ -265,11 +265,8 @@ const InputSourcePopup = new Lang.Class({ this._action = action; this._actionBackward = actionBackward; - }, - _createSwitcher: function() { this._switcherList = new InputSourceSwitcher(this._items); - return true; }, _initialSelection: function(backward, binding) { diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js index ccb774de3..c9d3884b9 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -102,16 +102,12 @@ const SwitcherPopup = new Lang.Class({ this._switcherList.actor.allocate(childBox, flags); }, - _createSwitcher: function() { - throw new Error('Not implemented'); - }, - _initialSelection: function(backward, binding) { throw new Error('Not implemented'); }, show: function(backward, binding, mask) { - if (!this._createSwitcher()) + if (this._items.length == 0) return false; if (!Main.pushModal(this.actor)) {