From c576f82bdfeab78471b099ef6bde90e612661f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Fri, 31 May 2024 15:58:13 +0300 Subject: [PATCH] overviewControls: Make sure thumbnails expandFraction is bound to visibility We set the expand-fraction property of the workspace thumbnails on changes to their should-show property. The should-show property defaults to true, and the expand-fraction property defaults to 1. The should-show property gets updated in the constructor of the ThumbnailsBox though, and it might become false (that is the case when starting up the shell) during construction. In this case we're not yet listening to "notify::should-show" in the ControlsManager, and therefore forget to update the expand-fraction accordingly. Fix that and ensure the expandFraction is always set to the value we expect after hiding or showing the thumbnails (we call _updateThumbnailsBox() from _update(), which we call in the constructor). This should be the proper fix for the problem that 9bf550da8 (which caused the workspace thumbnails to never show) originally tried to fix. Fixes: 9bf550da88 ("overviewControls: Set expandFraction for ws thumbnails to 0 when hidden") Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7668 Part-of: --- js/ui/overviewControls.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js index 8e335d2a5..a52aa85d2 100644 --- a/js/ui/overviewControls.js +++ b/js/ui/overviewControls.js @@ -562,8 +562,10 @@ class ControlsManager extends St.Widget { duration: animate ? SIDE_CONTROLS_ANIMATION_TIME : 0, mode: Clutter.AnimationMode.EASE_OUT_QUAD, onComplete: () => { - this._thumbnailsBox.visible = thumbnailsBoxVisible; - this._thumbnailsBox.expandFraction = 0; + this._thumbnailsBox.set({ + visible: thumbnailsBoxVisible, + expandFraction: thumbnailsBoxVisible ? 1.0 : 0.0, + }); }, };