Remove LayoutManager::fullscreen-changed
Since we now have global.screen::in-fullscreen-changed, remove the duplicate signal. To prevent ordering problems in connecting to this signal, make inFullscreen a property-function of a new Monitor object rather than a data property we tack on to a Rectangle object. https://bugzilla.gnome.org/show_bug.cgi?id=649748
This commit is contained in:
parent
ef9c50e63a
commit
9ae2440ec1
@ -118,6 +118,22 @@ const MonitorConstraint = new Lang.Class({
|
||||
}
|
||||
});
|
||||
|
||||
const Monitor = new Lang.Class({
|
||||
Name: 'Monitor',
|
||||
|
||||
_init: function(index, geometry) {
|
||||
this.index = index;
|
||||
this.x = geometry.x;
|
||||
this.y = geometry.y;
|
||||
this.width = geometry.width;
|
||||
this.height = geometry.height;
|
||||
},
|
||||
|
||||
get inFullscreen() {
|
||||
return global.screen.get_monitor_in_fullscreen(this.index);
|
||||
}
|
||||
})
|
||||
|
||||
const defaultParams = {
|
||||
trackFullscreen: false,
|
||||
affectsStruts: false,
|
||||
@ -261,7 +277,7 @@ const LayoutManager = new Lang.Class({
|
||||
this.monitors = [];
|
||||
let nMonitors = screen.get_n_monitors();
|
||||
for (let i = 0; i < nMonitors; i++)
|
||||
this.monitors.push(screen.get_monitor_geometry(i));
|
||||
this.monitors.push(new Monitor(i, screen.get_monitor_geometry(i)));
|
||||
|
||||
if (nMonitors == 1) {
|
||||
this.primaryIndex = this.bottomIndex = 0;
|
||||
@ -904,13 +920,8 @@ const LayoutManager = new Lang.Class({
|
||||
},
|
||||
|
||||
_updateFullscreen: function() {
|
||||
for (let i = 0; i < this.monitors.length; i++)
|
||||
this.monitors[i].inFullscreen = global.screen.get_monitor_in_fullscreen (i);
|
||||
|
||||
this._updateVisibility();
|
||||
this._queueUpdateRegions();
|
||||
|
||||
this.emit('fullscreen-changed');
|
||||
},
|
||||
|
||||
_windowsRestacked: function() {
|
||||
|
@ -1657,7 +1657,6 @@ const MessageTray = new Lang.Class({
|
||||
this._desktopCloneState = State.HIDDEN;
|
||||
this._notificationRemoved = false;
|
||||
this._reNotifyAfterHideNotification = null;
|
||||
this._inFullscreen = false;
|
||||
this._desktopClone = null;
|
||||
this._inCtrlAltTab = false;
|
||||
|
||||
@ -1674,7 +1673,7 @@ const MessageTray = new Lang.Class({
|
||||
Main.layoutManager.trackChrome(this._notificationWidget);
|
||||
Main.layoutManager.trackChrome(this._closeButton);
|
||||
|
||||
Main.layoutManager.connect('fullscreen-changed', Lang.bind(this, this._updateState));
|
||||
global.screen.connect('in-fullscreen-changed', Lang.bind(this, this._updateState));
|
||||
Main.layoutManager.connect('hot-corners-changed', Lang.bind(this, this._hotCornersChanged));
|
||||
|
||||
// If the overview shows or hides while we're in
|
||||
|
Loading…
Reference in New Issue
Block a user