Jasper St. Pierre
cbb88ffdbb
layout: Add sessionGroup / systemGroup to better-define layers
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.
…
…
…
…
GNOME Shell provides core user interface functions for the GNOME 3 desktop, like switching to windows and launching applications. GNOME Shell takes advantage of the capabilities of modern graphics hardware and introduces innovative user interface concepts to provide a visually attractive and easy to use experience. For more information about GNOME Shell, including instructions on how to build GNOME Shell from source and how to get involved with the project, see: http://live.gnome.org/GnomeShell Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell' product. License ======= GNOME Shell is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.
Description
Languages
C
49.2%
JavaScript
47.4%
SCSS
1.4%
Meson
0.8%
Python
0.6%
Other
0.4%