From 0ef2a67f6bb202c4c1bc5521fe85aa9c2f262b0c Mon Sep 17 00:00:00 2001 From: spin83 Date: Sat, 23 Mar 2019 18:27:11 +0100 Subject: [PATCH] Some final cleaning. --- README.md | 5 +- multi-monitors-add-on@spin83/indicator.js | 199 +++++++++++----------- multi-monitors-add-on@spin83/mmlayout.js | 44 ++--- 3 files changed, 119 insertions(+), 129 deletions(-) diff --git a/README.md b/README.md index 0b4c6bf..2cb179c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,8 @@ in dynamic fashion, no restart needed. Versions ======== -* Branch [master](https://github.com/spin83/multi-monitors-add-on/tree/master) contains extension for GNOME 3.24, 3.26, 3.28 and 3.30 +* Branch [master](https://github.com/spin83/multi-monitors-add-on/tree/master) contains extension for GNOME 3.32 +* Branch [gnome-3-24_3-30](https://github.com/spin83/multi-monitors-add-on/tree/master) contains extension for GNOME 3.24, 3.26, 3.28 and 3.30 * Branch [gnome-3-20_3-22](https://github.com/spin83/multi-monitors-add-on/tree/gnome-3-20_3-22) contains extension for GNOME 3.20 and 3.22 * Branch [gnome-3-16_3-18](https://github.com/spin83/multi-monitors-add-on/tree/gnome-3-16_3-18) contains extension for GNOME 3.16 and 3.18 * Branch [gnome-3-14](https://github.com/spin83/multi-monitors-add-on/tree/gnome-3-14) contains extension for GNOME 3.14 @@ -20,7 +21,7 @@ Installation from git git clone git://github.com/spin83/multi-monitors-add-on.git cd multi-monitors-add-on - cp -r multi-monitors-add-on@spin83 ~/.local/share/gnome-shell/extensions + cp -r multi-monitors-add-on@spin83 ~/.local/share/gnome-shell/extensions/ Restart the shell and then enable the extension. diff --git a/multi-monitors-add-on@spin83/indicator.js b/multi-monitors-add-on@spin83/indicator.js index 38011d8..a6ccf7c 100644 --- a/multi-monitors-add-on@spin83/indicator.js +++ b/multi-monitors-add-on@spin83/indicator.js @@ -15,10 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, visit https://www.gnu.org/licenses/. */ -const Lang = imports.lang; - -const St = imports.gi.St; -const Gio = imports.gi.Gio; +const { St, Gio, GObject } = imports.gi; const Util = imports.misc.util; @@ -32,107 +29,107 @@ const CE = imports.misc.extensionUtils.getCurrentExtension(); const Convenience = CE.imports.convenience; const extensionPath = CE.path; -var MultiMonitorsIndicator = new Lang.Class({ - Name: 'MultiMonitorsIndicator', - Extends: PanelMenu.Button, - - _init() { - this.parent(0.0, "MultiMonitorsAddOn", false); - - Convenience.initTranslations(); - - this.text = null; - - this._mmStatusIcon = new St.BoxLayout({ style_class: 'multimonitor-status-indicators-box' }); - this._mmStatusIcon.hide(); - this.actor.add_child(this._mmStatusIcon); - this._leftRightIcon = true; - - this.menu.addAction(_("Preferences"), this._onPreferences.bind(this)); - - this._viewMonitorsId = Main.layoutManager.connect('monitors-changed', this._viewMonitors.bind(this)); - this.connect('destroy', this._onDestroy.bind(this)); - this._viewMonitors(); - }, - - _onDestroy(actor) { - Main.layoutManager.disconnect(this._viewMonitorsId); - }, - - _syncIndicatorsVisible() { - this._mmStatusIcon.visible = this._mmStatusIcon.get_children().some(a => a.visible); - }, - - _icon_name (icon, iconName) { - icon.set_gicon(Gio.icon_new_for_string(extensionPath+"/icons/"+iconName+".svg")); - }, - - _viewMonitors() { - let monitors = this._mmStatusIcon.get_children(); - - let monitorChange = Main.layoutManager.monitors.length - monitors.length; - if(monitorChange>0){ - global.log("Add Monitors ..."); - for(let idx = 0; idx { + let MultiMonitorsIndicator = class MultiMonitorsIndicator extends PanelMenu.Button { + _init() { + super._init(0.0, "MultiMonitorsAddOn", false); - for(let idx = 0; idx a.visible); + } + + _icon_name (icon, iconName) { + icon.set_gicon(Gio.icon_new_for_string(extensionPath+"/icons/"+iconName+".svg")); + } + + _viewMonitors() { + let monitors = this._mmStatusIcon.get_children(); + + let monitorChange = Main.layoutManager.monitors.length - monitors.length; + if(monitorChange>0){ + global.log("Add Monitors ..."); + for(let idx = 0; idx { if (corner) @@ -147,7 +140,7 @@ var MultiMonitorsLayoutManager = new Lang.Class({ else { this.hidePanel(); } - }, + } hidePanel() { if (this._changedEnableHotCornersId) { @@ -183,7 +176,7 @@ var MultiMonitorsLayoutManager = new Lang.Class({ this._popPanel(); global.log("remove: "+monitorId); } - }, + } _monitorsChanged () { let monitorChange = Main.layoutManager.monitors.length - this._monitorIds.length -1; @@ -220,7 +213,7 @@ var MultiMonitorsLayoutManager = new Lang.Class({ if (tIndicators && this.statusIndicatorsController) { this.statusIndicatorsController.transferIndicators(); } - }, + } _pushPanel(i, monitor) { let mmPanelBox = new MultiMonitorsPanelBox(monitor); @@ -228,7 +221,7 @@ var MultiMonitorsLayoutManager = new Lang.Class({ Main.mmPanel.push(panel); this.mmPanelBox.push(mmPanelBox); - }, + } _popPanel() { let panel = Main.mmPanel.pop(); @@ -237,7 +230,7 @@ var MultiMonitorsLayoutManager = new Lang.Class({ } let mmPanelBox = this.mmPanelBox.pop(); mmPanelBox.destroy(); - }, + } _changeMainPanelAppMenuButton(appMenuButton) { let role = "appMenu"; @@ -261,7 +254,7 @@ var MultiMonitorsLayoutManager = new Lang.Class({ panel.statusArea[role] = indicator; let box = panel._leftBox; panel._addToPanelBox(role, indicator, box.get_n_children()+1, box); - }, + } _showAppMenu() { if (this._settings.get_boolean(MMPanel.SHOW_APP_MENU_ID) && Main.mmPanel.length>0) { @@ -273,13 +266,12 @@ var MultiMonitorsLayoutManager = new Lang.Class({ else { this._hideAppMenu(); } - }, + } _hideAppMenu() { if (this.mmappMenu) { this._changeMainPanelAppMenuButton(Panel.AppMenuButton); this.mmappMenu = false; } - }, -}); - + } +};