Fix handling of SystemBackground
Since the background rework, SystemBackground is no longer a transparent actor that you have to stack on top of a solid background, it is an opaque actor. Fix the color of the background actor, and remove places where we were setting the background color underneath the system background and expecting blending - in particular, we can always set no_clear_hint on the stage. https://bugzilla.gnome.org/show_bug.cgi?id=738652
This commit is contained in:
@ -20,7 +20,6 @@ const Tweener = imports.ui.tweener;
|
||||
const STARTUP_ANIMATION_TIME = 0.5;
|
||||
const KEYBOARD_ANIMATION_TIME = 0.15;
|
||||
const BACKGROUND_FADE_ANIMATION_TIME = 1.0;
|
||||
const DEFAULT_BACKGROUND_COLOR = Clutter.Color.from_pixel(0x2e3436ff);
|
||||
|
||||
// The message tray takes this much pressure
|
||||
// in the pressure barrier at once to release it.
|
||||
@ -160,10 +159,10 @@ const LayoutManager = new Lang.Class({
|
||||
this._isPopupWindowVisible = false;
|
||||
this._startingUp = true;
|
||||
|
||||
// Normally, the stage is always covered so Clutter doesn't need to clear
|
||||
// it; however it becomes visible during the startup animation
|
||||
// See the comment below for a longer explanation
|
||||
global.stage.background_color = DEFAULT_BACKGROUND_COLOR;
|
||||
// We don't want to paint the stage background color because either
|
||||
// the SystemBackground we create or the MetaBackgroundActor inside
|
||||
// global.window_group covers the entirety of the screen.
|
||||
global.stage.no_clear_hint = true;
|
||||
|
||||
// Set up stage hierarchy to group all UI actors under one container.
|
||||
this.uiGroup = new Shell.GenericContainer({ name: 'uiGroup' });
|
||||
@ -588,10 +587,6 @@ const LayoutManager = new Lang.Class({
|
||||
//
|
||||
// When starting a normal user session, we want to grow it out of the middle
|
||||
// of the screen.
|
||||
//
|
||||
// Usually, we don't want to paint the stage background color because the
|
||||
// MetaBackgroundActor inside global.window_group covers the entirety of the
|
||||
// screen. So, we set no_clear_hint at the end of the animation.
|
||||
|
||||
_prepareStartupAnimation: function() {
|
||||
// During the initial transition, add a simple actor to block all events,
|
||||
@ -672,10 +667,6 @@ const LayoutManager = new Lang.Class({
|
||||
},
|
||||
|
||||
_startupAnimationComplete: function() {
|
||||
// At this point, the UI group is covering everything, so
|
||||
// we no longer need to clear the stage
|
||||
global.stage.no_clear_hint = true;
|
||||
|
||||
this._coverPane.destroy();
|
||||
this._coverPane = null;
|
||||
|
||||
|
Reference in New Issue
Block a user