diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js index b182ae9b8..cab256933 100644 --- a/js/ui/modalDialog.js +++ b/js/ui/modalDialog.js @@ -14,6 +14,7 @@ const Atk = imports.gi.Atk; const Params = imports.misc.params; +const Layout = imports.ui.layout; const Lightbox = imports.ui.lightbox; const Main = imports.ui.main; const Tweener = imports.ui.tweener; @@ -59,6 +60,8 @@ const ModalDialog = new Lang.Class({ this._group.connect('key-release-event', Lang.bind(this, this._onKeyReleaseEvent)); this._backgroundBin = new St.Bin(); + this._monitorConstraint = new Layout.MonitorConstraint(); + this._backgroundBin.add_constraint(this._monitorConstraint); this._group.add_actor(this._backgroundBin); this.dialogLayout = new St.BoxLayout({ style_class: 'modal-dialog', @@ -196,10 +199,7 @@ const ModalDialog = new Lang.Class({ }, _fadeOpen: function() { - let monitor = Main.layoutManager.currentMonitor; - - this._backgroundBin.set_position(monitor.x, monitor.y); - this._backgroundBin.set_size(monitor.width, monitor.height); + this._monitorConstraint.index = global.screen.get_current_monitor(); this.state = State.OPENING; diff --git a/js/ui/wanda.js b/js/ui/wanda.js index 4a57bf8cc..e02e7f458 100644 --- a/js/ui/wanda.js +++ b/js/ui/wanda.js @@ -9,6 +9,7 @@ const Signals = imports.signals; const St = imports.gi.St; const IconGrid = imports.ui.iconGrid; +const Layout = imports.ui.layout; const Main = imports.ui.main; const Search = imports.ui.search; @@ -142,17 +143,18 @@ const FortuneDialog = new Lang.Class({ this._button.connect('clicked', Lang.bind(this, this.destroy)); this._button.child = this._box; - let monitor = Main.layoutManager.primaryMonitor; + this._bin = new St.Bin({ x_align: St.Align.MIDDLE, + y_align: St.Align.MIDDLE }); + this._bin.add_constraint(new Layout.MonitorConstraint({ primary: true })); + this._bin.add_actor(this._button); - Main.layoutManager.addChrome(this._button); - this._button.set_position(Math.floor(monitor.width / 2 - this._button.width / 2), - Math.floor(monitor.height / 2 - this._button.height / 2)); + Main.layoutManager.addChrome(this._bin); GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 10, Lang.bind(this, this.destroy)); }, destroy: function() { - this._button.destroy(); + this._bin.destroy(); } });