From 4fcbf6c974f82541a756a769565dc9718be988af Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 21 Oct 2020 15:40:20 -0300 Subject: [PATCH] iconGrid: Allocate preferred sizes if bigger than child size IconGridLayout uses the biggest minimum size to allocate its children. Next commit will make app icons with long names show not ellipsize on hover, and it is important that the icon itself is able to follow that. Use preferred size if it's bigger than the minimum size. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1477 --- js/ui/iconGrid.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js index d77898822..bc59b1bb0 100644 --- a/js/ui/iconGrid.js +++ b/js/ui/iconGrid.js @@ -765,7 +765,6 @@ var IconGridLayout = GObject.registerClass({ this._calculateSpacing(childSize); const childBox = new Clutter.ActorBox(); - childBox.set_size(childSize, childSize); let nChangedIcons = 0; @@ -802,6 +801,11 @@ var IconGridLayout = GObject.registerClass({ childBox.set_origin(x, y); + const [,, naturalWidth, naturalHeight] = item.get_preferred_size(); + childBox.set_size( + Math.max(childSize, naturalWidth), + Math.max(childSize, naturalHeight)); + // Only ease icons when the page size didn't change if (this._pageSizeChanged) item.allocate(childBox);