diff --git a/panel.js b/panel.js index e4e32aa..8eb1bf6 100644 --- a/panel.js +++ b/panel.js @@ -303,8 +303,7 @@ var dtpPanel = Utils.defineClass({ setMenuArrow(this.statusArea.keyboard._hbox.get_last_child(), position); } - //the timeout makes sure the theme's styles are computed before initially applying the transparency - this._timeoutsHandler.add([T1, 0, () => this.dynamicTransparency = new Transparency.DynamicTransparency(this)]); + this.dynamicTransparency = new Transparency.DynamicTransparency(this); this.taskbar = new Taskbar.taskbar(this); @@ -427,9 +426,7 @@ var dtpPanel = Utils.defineClass({ this.intellihide.destroy(); } - if (this.dynamicTransparency) { - this.dynamicTransparency.destroy(); - } + this.dynamicTransparency.destroy(); this.progressManager.destroy(); @@ -623,6 +620,7 @@ var dtpPanel = Utils.defineClass({ this._setPanelGhostSize(); this._setPanelPosition(); this.taskbar.resetAppIcons(); + this.dynamicTransparency.updateExternalStyle(); if (this.intellihide && this.intellihide.enabled) { this.intellihide.reset(); @@ -799,7 +797,7 @@ var dtpPanel = Utils.defineClass({ this.panel.actor[(St.Side[p] == this.geom.position ? 'add' : 'remove') + '_style_class_name'](cssName); }); - Utils.setClip(clipContainer, clipContainer.x, clipContainer.y, this.width, this.height); + Utils.setClip(clipContainer, clipContainer.x, clipContainer.y, this.panelBox.width, this.panelBox.height); Main.layoutManager._updateHotCorners(); Main.layoutManager._updatePanelBarrier(this); diff --git a/taskbar.js b/taskbar.js index 43737dc..5e26469 100644 --- a/taskbar.js +++ b/taskbar.js @@ -111,8 +111,7 @@ var taskbarActor = Utils.defineClass({ hupper = Math.floor(hupper); scrollview._dtpFadeSize = hupper > hpageSize ? this._delegate.iconSize : 0; - if (this._delegate.dtpPanel.dynamicTransparency && - this._currentBackgroundColor !== this._delegate.dtpPanel.dynamicTransparency.currentBackgroundColor) { + if (this._currentBackgroundColor !== this._delegate.dtpPanel.dynamicTransparency.currentBackgroundColor) { this._currentBackgroundColor = this._delegate.dtpPanel.dynamicTransparency.currentBackgroundColor; let gradientStyle = 'background-gradient-start: ' + this._currentBackgroundColor + 'background-gradient-direction: ' + orientation; diff --git a/transparency.js b/transparency.js index 1fdb044..c557518 100644 --- a/transparency.js +++ b/transparency.js @@ -63,6 +63,11 @@ var DynamicTransparency = Utils.defineClass({ } }, + updateExternalStyle: function() { + this._updateComplementaryStyles(); + this._setBackground(); + }, + _bindSignals: function() { this._signalsHandler.add( [ diff --git a/windowPreview.js b/windowPreview.js index 09db79c..b788de6 100644 --- a/windowPreview.js +++ b/windowPreview.js @@ -423,11 +423,9 @@ var PreviewMenu = Utils.defineClass({ fixed: Me.settings.get_boolean('window-preview-fixed-y') }; - if (this.panel.dynamicTransparency) { - alphaBg = Me.settings.get_boolean('preview-use-custom-opacity') ? - Me.settings.get_int('preview-custom-opacity') * .01 : - this.panel.dynamicTransparency.alpha; - } + alphaBg = Me.settings.get_boolean('preview-use-custom-opacity') ? + Me.settings.get_int('preview-custom-opacity') * .01 : + this.panel.dynamicTransparency.alpha; }, _updateClip: function() {