layout: Mark chrome container as NO_LAYOUT

Showing and hiding children does not affect the allocation of the uiGroup
nor its other children. We can avoid full relayout/redraw in those
situations.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/197


(cherry picked from commit 73d8c82640)
This commit is contained in:
Carlos Garnacho 2018-08-10 19:37:48 +00:00 committed by Marco Trevisan
parent 98fb7c33f2
commit b359b937e9

View File

@ -203,6 +203,7 @@ var LayoutManager = new Lang.Class({
// Set up stage hierarchy to group all UI actors under one container.
this.uiGroup = new Shell.GenericContainer({ name: 'uiGroup' });
this.uiGroup.set_flags(Clutter.ActorFlags.NO_LAYOUT);
this.uiGroup.connect('allocate', (actor, box, flags) => {
let children = actor.get_children();
for (let i = 0; i < children.length; i++)