workspaceThumbnails: Center thumbnails in workspace navigator

We always request a natural width based on the maximum thumbnail scale,
but may very well use a smaller scale when allocating. This currently
results in thumbnails being off center, fix this by distributing any
extra space evenly before allocating thumbnails.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1620>
This commit is contained in:
Florian Müllner 2021-02-01 16:28:49 +01:00
parent 779e66ae88
commit de299f0a90

View File

@ -1302,6 +1302,13 @@ var ThumbnailsBox = GObject.registerClass({
const thumbnailWidth = Math.round(thumbnailHeight * ratio); const thumbnailWidth = Math.round(thumbnailHeight * ratio);
const roundedVScale = thumbnailHeight / portholeHeight; const roundedVScale = thumbnailHeight / portholeHeight;
// We always request size for MAX_THUMBNAIL_SCALE, distribute
// space evently if we use smaller thumbnails
const extraWidth =
(MAX_THUMBNAIL_SCALE * portholeWidth - thumbnailWidth) * nWorkspaces;
box.x1 += Math.round(extraWidth / 2);
box.x2 -= Math.round(extraWidth / 2);
let indicatorValue = this._scrollAdjustment.value; let indicatorValue = this._scrollAdjustment.value;
let indicatorUpperWs = Math.ceil(indicatorValue); let indicatorUpperWs = Math.ceil(indicatorValue);
let indicatorLowerWs = Math.floor(indicatorValue); let indicatorLowerWs = Math.floor(indicatorValue);