workspacesView: Center extra workspace
At the moment views on non-primary monitors take up the entire work area, so simply allocating the available size works. However we'll soon shrink the views a bit to match the visuals on the primary monitor. As workspaces keep the ratio, reducing their height will also reduce the width; override the default allocate() to keep the extra workspace horizontally centered. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1735>
This commit is contained in:
parent
2731d35723
commit
40121bbe4b
@ -560,6 +560,18 @@ class ExtraWorkspaceView extends WorkspacesViewBase {
|
|||||||
this._workspace.stateAdjustment.value = progress;
|
this._workspace.stateAdjustment.value = progress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vfunc_allocate(box) {
|
||||||
|
this.set_allocation(box);
|
||||||
|
|
||||||
|
const [width, height] = box.get_size();
|
||||||
|
const [, childWidth] = this._workspace.get_preferred_width(height);
|
||||||
|
|
||||||
|
const childBox = new Clutter.ActorBox();
|
||||||
|
childBox.set_origin(Math.round((width - childWidth) / 2), 0);
|
||||||
|
childBox.set_size(childWidth, height);
|
||||||
|
this._workspace.allocate(childBox);
|
||||||
|
}
|
||||||
|
|
||||||
getActiveWorkspace() {
|
getActiveWorkspace() {
|
||||||
return this._workspace;
|
return this._workspace;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user