cbb88ffdbb
In order to build a better transition animation from the lock screen, we need to split the world into layers, as per this reference: https://raw.github.com/gnome-design-team/gnome-mockups/master/system-lock-login-boot/system-layers2.png Everything that pertains to the user's session is in the "session group", which includes the window group, overview, message tray (for now), keyboard, OSDs, menus, etc. For implementation sake, we did not match this mockup exactly. The new layers look like this, from top to bottom: * Stage * Magnifier (clones the uiGroup) * uiGroup * overlayGroup * menuGroup * panelGroup * screenShieldGroup * sessionGroup * top_window_group * other boxes (trayBox, keyboardBox, etc.) * other groups (osdGroup, switcherPopupGroup, etc.) * overviewGroup * window_group * systemGroup The "session startup" animation now only zooms in the sessionGroup. The panel is now outside the session, as it needs to sit above the screen shield. This also means that it's not zoomed in as part of startup. I think this is OK. This also means that the lightboxes that the screen shield uses to fade out the screen have to go in a new group, above the panel. This is known as the overlayGroup, which has no relation to the old mutter group of the same name. We also change the screen shield to put the lockDialogGroup in the system group, and put the lockScreenGroup in the screenShieldGroup, which means that the layer stacking is correct. Note that we don't hide the session group in the lock screen yet, which is something I want to do. Since not a lot of items need to be in the uiGroup anymore, we've removed the Main.uiGroup fallback; others should use sessionGroup instead, when appropriate. |
||
---|---|---|
.. | ||
extensionPrefs | ||
gdm | ||
misc | ||
perf | ||
ui | ||
js-resources.gresource.xml | ||
Makefile.am |