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 = {
|
const defaultParams = {
|
||||||
trackFullscreen: false,
|
trackFullscreen: false,
|
||||||
affectsStruts: false,
|
affectsStruts: false,
|
||||||
@ -261,7 +277,7 @@ const LayoutManager = new Lang.Class({
|
|||||||
this.monitors = [];
|
this.monitors = [];
|
||||||
let nMonitors = screen.get_n_monitors();
|
let nMonitors = screen.get_n_monitors();
|
||||||
for (let i = 0; i < nMonitors; i++)
|
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) {
|
if (nMonitors == 1) {
|
||||||
this.primaryIndex = this.bottomIndex = 0;
|
this.primaryIndex = this.bottomIndex = 0;
|
||||||
@ -904,13 +920,8 @@ const LayoutManager = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_updateFullscreen: function() {
|
_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._updateVisibility();
|
||||||
this._queueUpdateRegions();
|
this._queueUpdateRegions();
|
||||||
|
|
||||||
this.emit('fullscreen-changed');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_windowsRestacked: function() {
|
_windowsRestacked: function() {
|
||||||
|
@ -1657,7 +1657,6 @@ const MessageTray = new Lang.Class({
|
|||||||
this._desktopCloneState = State.HIDDEN;
|
this._desktopCloneState = State.HIDDEN;
|
||||||
this._notificationRemoved = false;
|
this._notificationRemoved = false;
|
||||||
this._reNotifyAfterHideNotification = null;
|
this._reNotifyAfterHideNotification = null;
|
||||||
this._inFullscreen = false;
|
|
||||||
this._desktopClone = null;
|
this._desktopClone = null;
|
||||||
this._inCtrlAltTab = false;
|
this._inCtrlAltTab = false;
|
||||||
|
|
||||||
@ -1674,7 +1673,7 @@ const MessageTray = new Lang.Class({
|
|||||||
Main.layoutManager.trackChrome(this._notificationWidget);
|
Main.layoutManager.trackChrome(this._notificationWidget);
|
||||||
Main.layoutManager.trackChrome(this._closeButton);
|
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));
|
Main.layoutManager.connect('hot-corners-changed', Lang.bind(this, this._hotCornersChanged));
|
||||||
|
|
||||||
// If the overview shows or hides while we're in
|
// If the overview shows or hides while we're in
|
||||||
|
Loading…
Reference in New Issue
Block a user