Fix scrollable workspace menu

Children that are scrolled out of view are still visible
to picks. Luckily we can address that without backporting
major pick changes in Clutter/St by clipping the scroll view
to its allocation.

Resolves: https://redhat.atlassian.net/browse/RHEL-171972
This commit is contained in:
Florian Müllner 2026-06-04 19:30:43 +02:00
parent 7e5c3bcec7
commit 8d7157841c
No known key found for this signature in database
2 changed files with 17 additions and 12 deletions

View File

@ -6,7 +6,7 @@
Name: gnome-shell-extensions
Version: 3.32.1
Release: 52%{?dist}
Release: 53%{?dist}
Summary: Modify and extend GNOME Shell functionality and behavior
Group: User Interface/Desktops
@ -583,6 +583,10 @@ cp $RPM_SOURCE_DIR/gnome-classic.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions
%changelog
* Thu Jun 04 2026 Florian Müllner <fmuellner@redhat.com> - 3.32.1-53
- Fix scrollable workspace menu
Resolves: RHEL-171972
* Thu Mar 19 2026 Tomas Pelka <tpelka@redhat.com> - 3.32.1-52
- Merge custom-menu entries into desktop-icons background menu
Resolves: RHEL-136187

View File

@ -1,4 +1,4 @@
From e8665261d2e99b3cfaa4d784bd47f95a5fdc3b52 Mon Sep 17 00:00:00 2001
From dd975bd50c5e9232bf4e1aa17927e085a37cf114 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Tue, 3 Mar 2026 12:48:13 +0100
Subject: [PATCH 1/3] workspace-indicator: Use section box to iterate items
@ -44,10 +44,10 @@ index eb31fc62..af4c69bf 100644
item.setOrnament(i === active
? PopupMenu.Ornament.CHECK
--
2.53.0
2.54.0
From 6f2fba8eba7f09834448a5588b825235213314a2 Mon Sep 17 00:00:00 2001
From 85a1cb3d7e009925cfa17ba4b3dee85296bf2c43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Mon, 2 Mar 2026 18:49:16 +0100
Subject: [PATCH 2/3] workspace-indicator: Support scrolling in workspace menu
@ -60,11 +60,11 @@ Support those less common cases by making the workspace list scrollable.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/445>
---
.../workspace-indicator/workspaceIndicator.js | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
.../workspace-indicator/workspaceIndicator.js | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
index af4c69bf..287fa13c 100644
index af4c69bf..efa9d8f3 100644
--- a/extensions/workspace-indicator/workspaceIndicator.js
+++ b/extensions/workspace-indicator/workspaceIndicator.js
@@ -6,6 +6,7 @@ const Main = imports.ui.main;
@ -75,7 +75,7 @@ index af4c69bf..287fa13c 100644
const Signals = imports.signals;
@@ -548,6 +549,16 @@ class WorkspacesMenu extends PopupMenu.PopupMenu {
@@ -548,6 +549,17 @@ class WorkspacesMenu extends PopupMenu.PopupMenu {
this.actor.connect('destroy', () => this._onDestroy());
this._workspacesSection = new PopupMenu.PopupMenuSection();
@ -84,6 +84,7 @@ index af4c69bf..287fa13c 100644
+ const scrollView = new St.ScrollView({
+ style_class: 'vfade',
+ hscrollbar_policy: St.PolicyType.NEVER,
+ clip_to_allocation: true,
+ });
+ scrollView.add_actor(this._workspacesSection.box);
+ scrollView._delegate = this._workspacesSection;
@ -92,7 +93,7 @@ index af4c69bf..287fa13c 100644
this.addMenuItem(this._workspacesSection);
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
@@ -612,6 +623,11 @@ class WorkspacesMenu extends PopupMenu.PopupMenu {
@@ -612,6 +624,11 @@ class WorkspacesMenu extends PopupMenu.PopupMenu {
this._desktopSettings.set_strv('workspace-names',
[...newNames, ...oldNames.slice(nLabels)]);
});
@ -105,10 +106,10 @@ index af4c69bf..287fa13c 100644
}
--
2.53.0
2.54.0
From 05615be8a57199d3137692bb9c4537437001628f Mon Sep 17 00:00:00 2001
From 0aee323d5e42a8c4e70b3a32700ee8d9f7ff15b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Wed, 18 Mar 2026 14:04:34 +0100
Subject: [PATCH 3/3] window-list: Fix flipping menu arrow
@ -143,5 +144,5 @@ index 37b5ea09..d1342898 100644
}
});
--
2.53.0
2.54.0