Remove usage of MetaScreen
Remove any usage of MetaScreen, as it has been removed from libmutter in the API version 3. The corresponding functionality has been moved into three different places: MetaDisplay, MetaX11Display (for X11 specific functionality) and MetaWorkspaceManager. https://bugzilla.gnome.org/show_bug.cgi?id=759538
This commit is contained in:
@ -109,7 +109,7 @@ var MonitorConstraint = new Lang.Class({
|
||||
|
||||
if (!this._workareasChangedId) {
|
||||
this._workareasChangedId =
|
||||
global.screen.connect('workareas-changed', () => {
|
||||
global.display.connect('workareas-changed', () => {
|
||||
if (this._workArea)
|
||||
this.actor.queue_relayout();
|
||||
});
|
||||
@ -120,7 +120,7 @@ var MonitorConstraint = new Lang.Class({
|
||||
this._monitorsChangedId = 0;
|
||||
|
||||
if (this._workareasChangedId)
|
||||
global.screen.disconnect(this._workareasChangedId);
|
||||
global.display.disconnect(this._workareasChangedId);
|
||||
this._workareasChangedId = 0;
|
||||
}
|
||||
|
||||
@ -142,7 +142,8 @@ var MonitorConstraint = new Lang.Class({
|
||||
|
||||
let rect;
|
||||
if (this._workArea) {
|
||||
let ws = global.screen.get_workspace_by_index(0);
|
||||
let workspaceManager = global.workspace_manager;
|
||||
let ws = workspaceManager.get_workspace_by_index(0);
|
||||
rect = ws.get_work_area_for_monitor(index);
|
||||
} else {
|
||||
rect = Main.layoutManager.monitors[index];
|
||||
@ -164,7 +165,7 @@ var Monitor = new Lang.Class({
|
||||
},
|
||||
|
||||
get inFullscreen() {
|
||||
return global.screen.get_monitor_in_fullscreen(this.index);
|
||||
return global.display.get_monitor_in_fullscreen(this.index);
|
||||
}
|
||||
})
|
||||
|
||||
@ -259,7 +260,7 @@ var LayoutManager = new Lang.Class({
|
||||
global.stage.remove_actor(global.top_window_group);
|
||||
this.uiGroup.add_actor(global.top_window_group);
|
||||
|
||||
let feedbackGroup = Meta.get_feedback_group_for_screen(global.screen);
|
||||
let feedbackGroup = Meta.get_feedback_group_for_display(global.display);
|
||||
global.stage.remove_actor(feedbackGroup);
|
||||
this.uiGroup.add_actor(feedbackGroup);
|
||||
|
||||
@ -269,14 +270,19 @@ var LayoutManager = new Lang.Class({
|
||||
this._bgManagers = [];
|
||||
|
||||
// Need to update struts on new workspaces when they are added
|
||||
global.screen.connect('notify::n-workspaces',
|
||||
this._queueUpdateRegions.bind(this));
|
||||
global.screen.connect('restacked',
|
||||
this._windowsRestacked.bind(this));
|
||||
global.screen.connect('monitors-changed',
|
||||
this._monitorsChanged.bind(this));
|
||||
global.screen.connect('in-fullscreen-changed',
|
||||
this._updateFullscreen.bind(this));
|
||||
let workspaceManager = global.workspace_manager;
|
||||
workspaceManager.connect('notify::n-workspaces',
|
||||
this._queueUpdateRegions.bind(this));
|
||||
|
||||
let display = global.display;
|
||||
display.connect('restacked',
|
||||
this._windowsRestacked.bind(this));
|
||||
display.connect('in-fullscreen-changed',
|
||||
this._updateFullscreen.bind(this));
|
||||
|
||||
let monitorManager = Meta.MonitorManager.get();
|
||||
monitorManager.connect('monitors-changed',
|
||||
this._monitorsChanged.bind(this));
|
||||
this._monitorsChanged();
|
||||
|
||||
// NVIDIA drivers don't preserve FBO contents across
|
||||
@ -319,12 +325,12 @@ var LayoutManager = new Lang.Class({
|
||||
},
|
||||
|
||||
_updateMonitors() {
|
||||
let screen = global.screen;
|
||||
let display = global.display;
|
||||
|
||||
this.monitors = [];
|
||||
let nMonitors = screen.get_n_monitors();
|
||||
let nMonitors = display.get_n_monitors();
|
||||
for (let i = 0; i < nMonitors; i++)
|
||||
this.monitors.push(new Monitor(i, screen.get_monitor_geometry(i)));
|
||||
this.monitors.push(new Monitor(i, display.get_monitor_geometry(i)));
|
||||
|
||||
if (nMonitors == 0) {
|
||||
this.primaryIndex = this.bottomIndex = -1;
|
||||
@ -333,7 +339,7 @@ var LayoutManager = new Lang.Class({
|
||||
} else {
|
||||
// If there are monitors below the primary, then we need
|
||||
// to split primary from bottom.
|
||||
this.primaryIndex = this.bottomIndex = screen.get_primary_monitor();
|
||||
this.primaryIndex = this.bottomIndex = display.get_primary_monitor();
|
||||
for (let i = 0; i < this.monitors.length; i++) {
|
||||
let monitor = this.monitors[i];
|
||||
if (this._isAboveOrBelowPrimary(monitor)) {
|
||||
@ -538,7 +544,7 @@ var LayoutManager = new Lang.Class({
|
||||
},
|
||||
|
||||
get currentMonitor() {
|
||||
let index = global.screen.get_current_monitor();
|
||||
let index = global.display.get_current_monitor();
|
||||
return this.monitors[index];
|
||||
},
|
||||
|
||||
@ -911,7 +917,8 @@ var LayoutManager = new Lang.Class({
|
||||
getWorkAreaForMonitor(monitorIndex) {
|
||||
// Assume that all workspaces will have the same
|
||||
// struts and pick the first one.
|
||||
let ws = global.screen.get_workspace_by_index(0);
|
||||
let workspaceManager = global.workspace_manager;
|
||||
let ws = workspaceManager.get_workspace_by_index(0);
|
||||
return ws.get_work_area_for_monitor(monitorIndex);
|
||||
},
|
||||
|
||||
@ -921,7 +928,7 @@ var LayoutManager = new Lang.Class({
|
||||
let [x, y] = actor.get_transformed_position();
|
||||
let [w, h] = actor.get_transformed_size();
|
||||
let rect = new Meta.Rectangle({ x: x, y: y, width: w, height: h });
|
||||
return global.screen.get_monitor_index_for_rect(rect);
|
||||
return global.display.get_monitor_index_for_rect(rect);
|
||||
},
|
||||
|
||||
findMonitorForActor(actor) {
|
||||
@ -1054,9 +1061,9 @@ var LayoutManager = new Lang.Class({
|
||||
global.set_stage_input_region(rects);
|
||||
this._isPopupWindowVisible = isPopupMenuVisible;
|
||||
|
||||
let screen = global.screen;
|
||||
for (let w = 0; w < screen.n_workspaces; w++) {
|
||||
let workspace = screen.get_workspace_by_index(w);
|
||||
let workspaceManager = global.workspace_manager;
|
||||
for (let w = 0; w < workspaceManager.n_workspaces; w++) {
|
||||
let workspace = workspaceManager.get_workspace_by_index(w);
|
||||
workspace.set_builtin_struts(struts);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user