appDisplay: Give all available size to grid
Another step in dismantling AppDisplay before reintroducing some of the elements there. Instead of adding a certain amount of padding, capped at 200px, always give the grid all available size. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2335>
This commit is contained in:
parent
1fb570b415
commit
5cb94c526c
@ -44,7 +44,6 @@ const PAGE_PREVIEW_ANIMATION_START_OFFSET = 100;
|
|||||||
const PAGE_PREVIEW_FADE_EFFECT_MAX_OFFSET = 300;
|
const PAGE_PREVIEW_FADE_EFFECT_MAX_OFFSET = 300;
|
||||||
const PAGE_PREVIEW_MAX_ARROW_OFFSET = 80;
|
const PAGE_PREVIEW_MAX_ARROW_OFFSET = 80;
|
||||||
const PAGE_INDICATOR_FADE_TIME = 200;
|
const PAGE_INDICATOR_FADE_TIME = 200;
|
||||||
const MAX_PAGE_PADDING = 200;
|
|
||||||
|
|
||||||
const OVERSHOOT_THRESHOLD = 20;
|
const OVERSHOOT_THRESHOLD = 20;
|
||||||
const OVERSHOOT_TIMEOUT = 1000;
|
const OVERSHOOT_TIMEOUT = 1000;
|
||||||
@ -1051,54 +1050,10 @@ var BaseAppView = GObject.registerClass({
|
|||||||
const availWidth = box.get_width();
|
const availWidth = box.get_width();
|
||||||
const availHeight = box.get_height();
|
const availHeight = box.get_height();
|
||||||
|
|
||||||
const gridRatio = this._grid.layout_manager.columnsPerPage /
|
this._grid.adaptToSize(availWidth, availHeight);
|
||||||
this._grid.layout_manager.rowsPerPage;
|
|
||||||
const spaceRatio = availWidth / availHeight;
|
|
||||||
let pageWidth, pageHeight;
|
|
||||||
|
|
||||||
if (spaceRatio > gridRatio * 1.1) {
|
|
||||||
// Enough room for some preview
|
|
||||||
pageHeight = availHeight;
|
|
||||||
pageWidth = Math.ceil(availHeight * gridRatio);
|
|
||||||
|
|
||||||
if (spaceRatio > gridRatio * 1.5) {
|
|
||||||
// Ultra-wide layout, give some extra space for
|
|
||||||
// the page area, but up to an extent.
|
|
||||||
const extraPageSpace = Math.min(
|
|
||||||
Math.floor((availWidth - pageWidth) / 2), MAX_PAGE_PADDING);
|
|
||||||
pageWidth += extraPageSpace;
|
|
||||||
this._grid.layout_manager.pagePadding.left =
|
|
||||||
Math.floor(extraPageSpace / 2);
|
|
||||||
this._grid.layout_manager.pagePadding.right =
|
|
||||||
Math.ceil(extraPageSpace / 2);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Not enough room, needs to shrink horizontally
|
|
||||||
pageWidth = Math.ceil(availWidth * 0.8);
|
|
||||||
pageHeight = availHeight;
|
|
||||||
this._grid.layout_manager.pagePadding.left =
|
|
||||||
Math.floor(availWidth * 0.02);
|
|
||||||
this._grid.layout_manager.pagePadding.right =
|
|
||||||
Math.ceil(availWidth * 0.02);
|
|
||||||
}
|
|
||||||
|
|
||||||
this._grid.adaptToSize(pageWidth, pageHeight);
|
|
||||||
|
|
||||||
const leftPadding = Math.floor(
|
const leftPadding = Math.floor(
|
||||||
(availWidth - this._grid.layout_manager.pageWidth) / 2);
|
(availWidth - this._grid.layout_manager.pageWidth) / 2);
|
||||||
const rightPadding = Math.ceil(
|
|
||||||
(availWidth - this._grid.layout_manager.pageWidth) / 2);
|
|
||||||
const topPadding = Math.floor(
|
|
||||||
(availHeight - this._grid.layout_manager.pageHeight) / 2);
|
|
||||||
const bottomPadding = Math.ceil(
|
|
||||||
(availHeight - this._grid.layout_manager.pageHeight) / 2);
|
|
||||||
|
|
||||||
this._scrollView.content_padding = new Clutter.Margin({
|
|
||||||
left: leftPadding,
|
|
||||||
right: rightPadding,
|
|
||||||
top: topPadding,
|
|
||||||
bottom: bottomPadding,
|
|
||||||
});
|
|
||||||
|
|
||||||
this._availWidth = availWidth;
|
this._availWidth = availWidth;
|
||||||
this._availHeight = availHeight;
|
this._availHeight = availHeight;
|
||||||
|
Loading…
Reference in New Issue
Block a user