e6414d8afc
Re-apply rebased and updated version of the RHEL 9 downstream patches, with some exceptions: Branding is still TBD, so has been left out for now. The desktop-icons extension will be replaced by an upstreamed version of desktop-icons-ng, which is still work-in-progress. Both dash-to-dock and dash-to-panel will be moved to separate packages, based on the existing Fedora package. It was decided to drop the panel-favorites and updates-dialog extensions. Resolves: RHEL-34255
68 lines
2.5 KiB
Diff
68 lines
2.5 KiB
Diff
From d595d168ed0fccf57b1995a4d36169d978820a7b Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
|
Date: Wed, 21 Feb 2024 17:37:16 +0100
|
|
Subject: [PATCH 12/28] workspace-indicator: Only change top bar redirect when
|
|
in top bar
|
|
|
|
While this is always the case for the workspace indicator, adding
|
|
the check will allow to use the same code in the window list.
|
|
|
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
|
|
---
|
|
.../workspace-indicator/workspaceIndicator.js | 23 +++++++++++++++++--
|
|
1 file changed, 21 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
|
index 9a1055aa..f118654e 100644
|
|
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
|
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
|
@@ -302,6 +302,16 @@ export class WorkspaceIndicator extends PanelMenu.Button {
|
|
|
|
this.connect('scroll-event', this._onScrollEvent.bind(this));
|
|
this._thumbnailsBox.connect('scroll-event', this._onScrollEvent.bind(this));
|
|
+
|
|
+ this._inTopBar = false;
|
|
+ this.connect('notify::realized', () => {
|
|
+ if (!this.realized)
|
|
+ return;
|
|
+
|
|
+ this._inTopBar = Main.panel.contains(this);
|
|
+ this._updateTopBarRedirect();
|
|
+ });
|
|
+
|
|
this._updateMenu();
|
|
this._updateThumbnails();
|
|
this._updateThumbnailVisibility();
|
|
@@ -313,7 +323,9 @@ export class WorkspaceIndicator extends PanelMenu.Button {
|
|
}
|
|
|
|
_onDestroy() {
|
|
- Main.panel.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
|
+ if (this._inTopBar)
|
|
+ Main.panel.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
|
+ this._inTopBar = false;
|
|
|
|
super._onDestroy();
|
|
}
|
|
@@ -328,9 +340,16 @@ export class WorkspaceIndicator extends PanelMenu.Button {
|
|
this._statusLabel.visible = useMenu;
|
|
this._thumbnailsBox.visible = !useMenu;
|
|
|
|
+ this._updateTopBarRedirect();
|
|
+ }
|
|
+
|
|
+ _updateTopBarRedirect() {
|
|
+ if (!this._inTopBar)
|
|
+ return;
|
|
+
|
|
// Disable offscreen-redirect when showing the workspace switcher
|
|
// so that clip-to-allocation works
|
|
- Main.panel.set_offscreen_redirect(useMenu
|
|
+ Main.panel.set_offscreen_redirect(this._thumbnailsBox.visible
|
|
? Clutter.OffscreenRedirect.ALWAYS
|
|
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
|
|
}
|
|
--
|
|
2.44.0
|
|
|