layoutManager: Stop using Shell.GenericContainer
This one was remarkably easy to port. In order to make it, replace the Shell.GenericContainer handlers by a constraint and simply replace it by a St.Widget. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153
This commit is contained in:
parent
b058e89166
commit
f4682748fa
@ -203,21 +203,12 @@ var LayoutManager = new Lang.Class({
|
|||||||
global.stage.no_clear_hint = true;
|
global.stage.no_clear_hint = true;
|
||||||
|
|
||||||
// Set up stage hierarchy to group all UI actors under one container.
|
// Set up stage hierarchy to group all UI actors under one container.
|
||||||
this.uiGroup = new Shell.GenericContainer({ name: 'uiGroup' });
|
this.uiGroup = new St.Widget({ name: 'uiGroup' });
|
||||||
this.uiGroup.set_flags(Clutter.ActorFlags.NO_LAYOUT);
|
this.uiGroup.set_flags(Clutter.ActorFlags.NO_LAYOUT);
|
||||||
this.uiGroup.connect('allocate', (actor, box, flags) => {
|
this.uiGroup.add_constraint(new Clutter.BindConstraint({
|
||||||
let children = actor.get_children();
|
source: global.stage,
|
||||||
for (let i = 0; i < children.length; i++)
|
coordinate: Clutter.BindCoordinate.ALL,
|
||||||
children[i].allocate_preferred_size(flags);
|
}));
|
||||||
});
|
|
||||||
this.uiGroup.connect('get-preferred-width', (actor, forHeight, alloc) => {
|
|
||||||
let width = global.stage.width;
|
|
||||||
[alloc.min_size, alloc.natural_size] = [width, width];
|
|
||||||
});
|
|
||||||
this.uiGroup.connect('get-preferred-height', (actor, forWidth, alloc) => {
|
|
||||||
let height = global.stage.height;
|
|
||||||
[alloc.min_size, alloc.natural_size] = [height, height];
|
|
||||||
});
|
|
||||||
|
|
||||||
global.stage.remove_actor(global.window_group);
|
global.stage.remove_actor(global.window_group);
|
||||||
this.uiGroup.add_actor(global.window_group);
|
this.uiGroup.add_actor(global.window_group);
|
||||||
|
Loading…
Reference in New Issue
Block a user