diff --git a/intellihide.js b/intellihide.js index a686efd..7e2aed8 100644 --- a/intellihide.js +++ b/intellihide.js @@ -211,9 +211,8 @@ var Intellihide = class { } _setTrackPanel(enable) { - let trackedIndex = Main.layoutManager._findActor(this._panelBox); - let actorData = Main.layoutManager._trackedActors[trackedIndex] - + let actorData = Utils.getTrackedActorData(this._panelBox) + actorData.affectsStruts = !enable; actorData.trackFullscreen = !enable; diff --git a/panel.js b/panel.js index a5af66b..9427d86 100644 --- a/panel.js +++ b/panel.js @@ -684,6 +684,10 @@ var Panel = GObject.registerClass({ let isOverview = !!Main.overview.visibleTarget; let isOverviewFocusedMonitor = isOverview && isFocusedMonitor; let isShown = !isOverview || isOverviewFocusedMonitor; + let actorData = Utils.getTrackedActorData(this.panelBox) + + // prevent the "chrome" to update the panelbox visibility while in overview + actorData.trackFullscreen = !isOverview this.panelBox[isShown ? 'show' : 'hide'](); } diff --git a/utils.js b/utils.js index 216ea1e..5206059 100644 --- a/utils.js +++ b/utils.js @@ -291,6 +291,13 @@ var wrapActor = function(actor) { } }; +var getTrackedActorData = (actor) => { + let trackedIndex = Main.layoutManager._findActor(actor); + + if (trackedIndex >= 0) + return Main.layoutManager._trackedActors[trackedIndex] +} + var getTransformedAllocation = function(actor) { if (Config.PACKAGE_VERSION < '3.37') { return Shell.util_get_transformed_allocation(actor);