diff --git a/js/ui/background.js b/js/ui/background.js index 7de204b60..81d186eb1 100644 --- a/js/ui/background.js +++ b/js/ui/background.js @@ -106,6 +106,8 @@ const Main = imports.ui.main; const Params = imports.misc.params; const Tweener = imports.ui.tweener; +const DEFAULT_BACKGROUND_COLOR = Clutter.Color.from_pixel(0x2e3436ff); + const BACKGROUND_SCHEMA = 'org.gnome.desktop.background'; const PRIMARY_COLOR_KEY = 'primary-color'; const SECONDARY_COLOR_KEY = 'secondary-color'; @@ -463,6 +465,7 @@ const SystemBackground = new Lang.Class({ if (_systemBackground == null) { _systemBackground = new Meta.Background({ meta_screen: global.screen }); + _systemBackground.set_color(DEFAULT_BACKGROUND_COLOR); _systemBackground.set_file(file, GDesktopEnums.BackgroundStyle.WALLPAPER); } diff --git a/js/ui/layout.js b/js/ui/layout.js index dda9fc7d6..c20dc61ff 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -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; diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index ccbf8cda4..101c14c77 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -1198,12 +1198,7 @@ const ZoomRegion = new Lang.Class({ // Add a background for when the magnified uiGroup is scrolled // out of view (don't want to see desktop showing through). - this._background = new Clutter.Actor({ background_color: Main.DEFAULT_BACKGROUND_COLOR, - layout_manager: new Clutter.BinLayout(), - width: global.screen_width, - height: global.screen_height }); - let noiseTexture = (new Background.SystemBackground()).actor; - this._background.add_actor(noiseTexture); + this._background = (new Background.SystemBackground()).actor; mainGroup.add_actor(this._background); // Clone the group that contains all of UI on the screen. This is the diff --git a/js/ui/main.js b/js/ui/main.js index 2fff9e654..4735cbe59 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -40,8 +40,6 @@ const Magnifier = imports.ui.magnifier; const XdndHandler = imports.ui.xdndHandler; const Util = imports.misc.util; -const DEFAULT_BACKGROUND_COLOR = Clutter.Color.from_pixel(0x2e3436ff); - const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard'; const STICKY_KEYS_ENABLE = 'stickykeys-enable'; const GNOMESHELL_STARTED_MESSAGE_ID = 'f3ea493c22934e26811cd62abe8e203a';