From db007d65eebbc1ab2d2c28528de0b476126f151f Mon Sep 17 00:00:00 2001 From: jderose9 Date: Mon, 2 Jan 2017 21:36:09 -0500 Subject: [PATCH] configure hiding of activities button --- README.md | 1 + Settings.ui | 44 +++++++++++++++++++ panel.js | 12 +++++ prefs.js | 4 ++ ...shell.extensions.dash-to-panel.gschema.xml | 7 ++- 5 files changed, 67 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 89a612e..890713e 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ make install to install the extension in your home directory. A Shell reload is required Alt+F2 r Enter and the extension has to be enabled with *gnome-tweak-tool* or with *dconf*. +**I recommend to set Top Bar > Show Applications Menu off in Gnome Tweak Tool.** This will cause the applications menu for native gnome apps (which normally appears in the top bar) to be presented in the top left of the window. ## Bug Reporting diff --git a/Settings.ui b/Settings.ui index b9d05dd..491fa17 100644 --- a/Settings.ui +++ b/Settings.ui @@ -722,6 +722,50 @@ + + + 100 + True + True + + + True + False + 12 + 12 + 12 + 12 + 32 + + + True + True + end + center + + + 1 + 0 + + + + + True + False + True + Show Activities Button + True + 0 + + + 0 + 0 + + + + + + 100 diff --git a/panel.js b/panel.js index 23b6238..8d4049f 100644 --- a/panel.js +++ b/panel.js @@ -75,6 +75,7 @@ const taskbarPanel = new Lang.Class({ this._oldLeftBoxStyle = this.panel._leftBox.get_style(); this._oldCenterBoxStyle = this.panel._centerBox.get_style(); this._oldRightBoxStyle = this.panel._rightBox.get_style(); + this._setActivitiesButtonVisible(this._dtpSettings.get_boolean('show-activities-button')); this._setTraySize(this._dtpSettings.get_int('tray-size')); this._setLeftBoxSize(this._dtpSettings.get_int('tray-size')); this._setClockLocation(this._dtpSettings.get_string('location-clock')); @@ -144,6 +145,7 @@ const taskbarPanel = new Lang.Class({ this.panelBox.set_anchor_point(0, 0); Main.overview._overview.remove_child(this._myPanelGhost); Main.overview._panelGhost.set_height(this._oldPanelHeight); + this._setActivitiesButtonVisible(true); this._setTraySize(0); this._setLeftBoxSize(0); this._setClockLocation("NATURAL"); @@ -168,6 +170,10 @@ const taskbarPanel = new Lang.Class({ this._setPanelStyle(); })); + this._dtpSettings.connect('changed::show-activities-button', Lang.bind(this, function() { + this._setActivitiesButtonVisible(this._dtpSettings.get_boolean('show-activities-button')); + })); + this._dtpSettings.connect('changed::tray-size', Lang.bind(this, function() { this._setTraySize(this._dtpSettings.get_int('tray-size')); })); @@ -256,6 +262,12 @@ const taskbarPanel = new Lang.Class({ this.panelBox.set_anchor_point(0,(-1)*(Main.layoutManager.primaryMonitor.height-this.panelBox.height)); }, + _setActivitiesButtonVisible: function(isVisible) { + if(this.panel.statusArea['activities']) + isVisible ? this.panel.statusArea['activities'].actor.show() : + this.panel.statusArea['activities'].actor.hide(); + }, + _setTraySize: function(size) { size ? this.panel._centerBox.set_style("font-size: " + size + "px;" + (this._oldCenterBoxStyle || "")) : this.panel._centerBox.set_style(this._oldCenterBoxStyle); size ? this.panel._rightBox.set_style("font-size: " + size + "px;" + (this._oldRightBoxStyle || "")) : this.panel._rightBox.set_style(this._oldRightBoxStyle); diff --git a/prefs.js b/prefs.js index a177238..7e6c3a3 100644 --- a/prefs.js +++ b/prefs.js @@ -139,6 +139,10 @@ const Settings = new Lang.Class({ this._builder.get_object('application_button_animation_button'), 'sensitive', Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-activities-button', + this._builder.get_object('show_activities_button_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); this._settings.bind('isolate-workspaces', this._builder.get_object('isolate_workspaces_switch'), 'active', diff --git a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml index 2ae100c..2d2ba73 100644 --- a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml +++ b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml @@ -54,10 +54,15 @@ Animate Show Applications from the desktop Animate Show Applications from the desktop + + false + Show activities button + Show activities button on the left hand side of the taskbar + false Provide workspace isolation - Dash shows only windows from the currentworkspace + Dash shows only windows from the current workspace true