Compare commits

...

4 Commits

Author SHA1 Message Date
Florian Müllner 6b1926bab3 Bump version to 3.29.3
Update NEWS.
2018-07-09 19:09:13 +02:00
Florian Müllner 64986740e3 Update sass submodule 2018-07-09 19:08:15 +02:00
Jonas Ådahl 6583eae622 Remove usage of MetaScreen
As of the libmutter API version 3 MetaScreen does no longer exist.
Functionality that previously depended on MetaScreen has been moved
elsewhere (e.g. MetaDisplay or MetaWorkspaceManager etc).

https://bugzilla.gnome.org/show_bug.cgi?id=759538
2018-07-06 19:53:08 +02:00
Florian Müllner 9add688abf Actually bump version number
Gah ...
2018-05-24 19:06:33 +02:00
9 changed files with 90 additions and 59 deletions
+7
View File
@@ -1,3 +1,10 @@
3.29.3
======
* Adjust to global.screen removal [Jonas; #759538]
Contributors:
Jonas Ådahl, Florian Müllner
3.29.2 3.29.2
====== ======
* Misc. bug fixes [Florian; #69] * Misc. bug fixes [Florian; #69]
+1 -1
View File
@@ -31,7 +31,7 @@ function enable() {
return injections['_keyPressHandler'].call(this, keysym, action); return injections['_keyPressHandler'].call(this, keysym, action);
}; };
Main.wm._forcedWindowSwitcher = function(display, screen, window, binding) { Main.wm._forcedWindowSwitcher = function(display, window, binding) {
/* prevent a corner case where both popups show up at once */ /* prevent a corner case where both popups show up at once */
if (this._workspaceSwitcherPopup != null) if (this._workspaceSwitcherPopup != null)
this._workspaceSwitcherPopup.destroy(); this._workspaceSwitcherPopup.destroy();
+3 -2
View File
@@ -79,9 +79,10 @@ class WindowMover {
return; return;
// ensure we have the required number of workspaces // ensure we have the required number of workspaces
for (let i = global.screen.n_workspaces; i <= workspaceNum; i++) { let workspaceManager = global.workspace_manager;
for (let i = workspaceManager.n_workspaces; i <= workspaceNum; i++) {
window.change_workspace_by_index(i - 1, false); window.change_workspace_by_index(i - 1, false);
global.screen.append_new_workspace(false, 0); workspaceManager.append_new_workspace(false, 0);
} }
window.change_workspace_by_index(workspaceNum, false); window.change_workspace_by_index(workspaceNum, false);
@@ -69,7 +69,7 @@ let SIZES = [
[1600, 900] [1600, 900]
]; ];
function cycleScreenshotSizes(display, screen, window, binding) { function cycleScreenshotSizes(display, window, binding) {
// Probably this isn't useful with 5 sizes, but you can decrease instead // Probably this isn't useful with 5 sizes, but you can decrease instead
// of increase by holding down shift. // of increase by holding down shift.
let modifiers = binding.get_modifiers(); let modifiers = binding.get_modifiers();
+49 -35
View File
@@ -238,10 +238,10 @@ class BaseButton {
if (this._perMonitor) { if (this._perMonitor) {
this._windowEnteredMonitorId = this._windowEnteredMonitorId =
global.screen.connect('window-entered-monitor', global.display.connect('window-entered-monitor',
this._windowEnteredOrLeftMonitor.bind(this)); this._windowEnteredOrLeftMonitor.bind(this));
this._windowLeftMonitorId = this._windowLeftMonitorId =
global.screen.connect('window-left-monitor', global.display.connect('window-left-monitor',
this._windowEnteredOrLeftMonitor.bind(this)); this._windowEnteredOrLeftMonitor.bind(this));
} }
} }
@@ -282,12 +282,12 @@ class BaseButton {
this.actor.remove_style_class_name('focused'); this.actor.remove_style_class_name('focused');
} }
_windowEnteredOrLeftMonitor(metaScreen, monitorIndex, metaWindow) { _windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) {
throw new Error('Not implemented'); throw new Error('Not implemented');
} }
_isWindowVisible(window) { _isWindowVisible(window) {
let workspace = global.screen.get_active_workspace(); let workspace = global.workspace_manager.get_active_workspace();
return !window.skip_taskbar && return !window.skip_taskbar &&
window.located_on_workspace(workspace) && window.located_on_workspace(workspace) &&
@@ -315,11 +315,11 @@ class BaseButton {
global.window_manager.disconnect(this._switchWorkspaceId); global.window_manager.disconnect(this._switchWorkspaceId);
if (this._windowEnteredMonitorId) if (this._windowEnteredMonitorId)
global.screen.disconnect(this._windowEnteredMonitorId); global.display.disconnect(this._windowEnteredMonitorId);
this._windowEnteredMonitorId = 0; this._windowEnteredMonitorId = 0;
if (this._windowLeftMonitorId) if (this._windowLeftMonitorId)
global.screen.disconnect(this._windowLeftMonitorId); global.display.disconnect(this._windowLeftMonitorId);
this._windowLeftMonitorId = 0; this._windowLeftMonitorId = 0;
} }
}; };
@@ -377,7 +377,7 @@ class WindowButton extends BaseButton {
this.actor.remove_style_class_name('minimized'); this.actor.remove_style_class_name('minimized');
} }
_windowEnteredOrLeftMonitor(metaScreen, monitorIndex, metaWindow) { _windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) {
if (monitorIndex == this._monitorIndex && metaWindow == this.metaWindow) if (monitorIndex == this._monitorIndex && metaWindow == this.metaWindow)
this._updateVisibility(); this._updateVisibility();
} }
@@ -518,7 +518,7 @@ class AppButton extends BaseButton {
this._updateStyle(); this._updateStyle();
} }
_windowEnteredOrLeftMonitor(metaScreen, monitorIndex, metaWindow) { _windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) {
if (this._windowTracker.get_window_app(metaWindow) == this.app && if (this._windowTracker.get_window_app(metaWindow) == this.app &&
monitorIndex == this._monitorIndex) { monitorIndex == this._monitorIndex) {
this._updateVisibility(); this._updateVisibility();
@@ -529,7 +529,7 @@ class AppButton extends BaseButton {
_updateVisibility() { _updateVisibility() {
if (!this._perMonitor) { if (!this._perMonitor) {
// fast path: use ShellApp API to avoid iterating over all windows. // fast path: use ShellApp API to avoid iterating over all windows.
let workspace = global.screen.get_active_workspace(); let workspace = global.workspace_manager.get_active_workspace();
this.actor.visible = this.app.is_on_workspace(workspace); this.actor.visible = this.app.is_on_workspace(workspace);
} else { } else {
this.actor.visible = this.getWindowList().length >= 1; this.actor.visible = this.getWindowList().length >= 1;
@@ -652,7 +652,9 @@ class WorkspaceIndicator extends PanelMenu.Button {
x_expand: true, y_expand: true }); x_expand: true, y_expand: true });
this.actor.add_actor(container); this.actor.add_actor(container);
this._currentWorkspace = global.screen.get_active_workspace().index(); let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace().index();
this.statusLabel = new St.Label({ text: this._getStatusText(), this.statusLabel = new St.Label({ text: this._getStatusText(),
x_align: Clutter.ActorAlign.CENTER, x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER }); y_align: Clutter.ActorAlign.CENTER });
@@ -660,11 +662,11 @@ class WorkspaceIndicator extends PanelMenu.Button {
this.workspacesItems = []; this.workspacesItems = [];
this._screenSignals = []; this._workspaceManagerSignals = [];
this._screenSignals.push(global.screen.connect('notify::n-workspaces', this._workspaceManagerSignals.push(workspaceManager.connect('notify::n-workspaces',
this._updateMenu.bind(this))); this._updateMenu.bind(this)));
this._screenSignals.push(global.screen.connect_after('workspace-switched', this._workspaceManagerSignals.push(workspaceManager.connect_after('workspace-switched',
this._updateIndicator.bind(this))); this._updateIndicator.bind(this)));
this.actor.connect('scroll-event', this._onScrollEvent.bind(this)); this.actor.connect('scroll-event', this._onScrollEvent.bind(this));
this._updateMenu(); this._updateMenu();
@@ -676,8 +678,8 @@ class WorkspaceIndicator extends PanelMenu.Button {
} }
destroy() { destroy() {
for (let i = 0; i < this._screenSignals.length; i++) for (let i = 0; i < this._workspaceManagerSignals.length; i++)
global.screen.disconnect(this._screenSignals[i]); global.workspace_manager.disconnect(this._workspaceManagerSignals[i]);
if (this._settingsChangedId) { if (this._settingsChangedId) {
this._settings.disconnect(this._settingsChangedId); this._settings.disconnect(this._settingsChangedId);
@@ -689,25 +691,28 @@ class WorkspaceIndicator extends PanelMenu.Button {
_updateIndicator() { _updateIndicator() {
this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.NONE); this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.NONE);
this._currentWorkspace = global.screen.get_active_workspace().index(); this._currentWorkspace = global.workspace_manager.get_active_workspace().index();
this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.DOT); this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.DOT);
this.statusLabel.set_text(this._getStatusText()); this.statusLabel.set_text(this._getStatusText());
} }
_getStatusText() { _getStatusText() {
let current = global.screen.get_active_workspace().index(); let workspaceManager = global.workspace_manager;
let total = global.screen.n_workspaces; let current = workspaceManager.get_active_workspace().index();
let total = workspaceManager.n_workspaces;
return '%d / %d'.format(current + 1, total); return '%d / %d'.format(current + 1, total);
} }
_updateMenu() { _updateMenu() {
let workspaceManager = global.workspace_manager;
this.menu.removeAll(); this.menu.removeAll();
this.workspacesItems = []; this.workspacesItems = [];
this._currentWorkspace = global.screen.get_active_workspace().index(); this._currentWorkspace = workspaceManager.get_active_workspace().index();
for(let i = 0; i < global.screen.n_workspaces; i++) { for(let i = 0; i < workspaceManager.n_workspaces; i++) {
let name = Meta.prefs_get_workspace_name(i); let name = Meta.prefs_get_workspace_name(i);
let item = new PopupMenu.PopupMenuItem(name); let item = new PopupMenu.PopupMenuItem(name);
item.workspaceId = i; item.workspaceId = i;
@@ -727,8 +732,10 @@ class WorkspaceIndicator extends PanelMenu.Button {
} }
_activate(index) { _activate(index) {
if(index >= 0 && index < global.screen.n_workspaces) { let workspaceManager = global.workspace_manager;
let metaWorkspace = global.screen.get_workspace_by_index(index);
if(index >= 0 && index < workspaceManager.n_workspaces) {
let metaWorkspace = workspaceManager.get_workspace_by_index(index);
metaWorkspace.activate(global.get_current_time()); metaWorkspace.activate(global.get_current_time());
} }
} }
@@ -833,10 +840,12 @@ class WindowList {
this._updateKeyboardAnchor(); this._updateKeyboardAnchor();
}); });
let workspaceManager = global.workspace_manager;
this._workspaceSignals = new Map(); this._workspaceSignals = new Map();
this._nWorkspacesChangedId = this._nWorkspacesChangedId =
global.screen.connect('notify::n-workspaces', workspaceManager.connect('notify::n-workspaces',
this._onWorkspacesChanged.bind(this)); this._onWorkspacesChanged.bind(this));
this._onWorkspacesChanged(); this._onWorkspacesChanged();
this._switchWorkspaceId = this._switchWorkspaceId =
@@ -856,7 +865,7 @@ class WindowList {
}); });
this._fullscreenChangedId = this._fullscreenChangedId =
global.screen.connect('in-fullscreen-changed', () => { global.display.connect('in-fullscreen-changed', () => {
this._updateKeyboardAnchor(); this._updateKeyboardAnchor();
}); });
@@ -923,8 +932,9 @@ class WindowList {
} }
_updateWorkspaceIndicatorVisibility() { _updateWorkspaceIndicatorVisibility() {
let workspaceManager = global.workspace_manager;
let hasWorkspaces = this._dynamicWorkspacesSettings.get_boolean('dynamic-workspaces') || let hasWorkspaces = this._dynamicWorkspacesSettings.get_boolean('dynamic-workspaces') ||
global.screen.n_workspaces > 1; workspaceManager.n_workspaces > 1;
let workspacesOnMonitor = this._monitor == Main.layoutManager.primaryMonitor || let workspacesOnMonitor = this._monitor == Main.layoutManager.primaryMonitor ||
!this._workspaceSettings.get_boolean('workspaces-only-on-primary'); !this._workspaceSettings.get_boolean('workspaces-only-on-primary');
@@ -939,7 +949,7 @@ class WindowList {
let [, childWidth] = children[0].get_preferred_width(-1); let [, childWidth] = children[0].get_preferred_width(-1);
let spacing = this._windowList.layout_manager.spacing; let spacing = this._windowList.layout_manager.spacing;
let workspace = global.screen.get_active_workspace(); let workspace = global.workspace_manager.get_active_workspace();
let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace); let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
if (this._perMonitor) if (this._perMonitor)
windows = windows.filter(w => w.get_monitor() == this._monitor.index); windows = windows.filter(w => w.get_monitor() == this._monitor.index);
@@ -1079,9 +1089,11 @@ class WindowList {
} }
_onWorkspacesChanged() { _onWorkspacesChanged() {
let numWorkspaces = global.screen.n_workspaces; let workspaceManager = global.workspace_manager;
let numWorkspaces = workspaceManager.n_workspaces;
for (let i = 0; i < numWorkspaces; i++) { for (let i = 0; i < numWorkspaces; i++) {
let workspace = global.screen.get_workspace_by_index(i); let workspace = workspaceManager.get_workspace_by_index(i);
if (this._workspaceSignals.has(workspace)) if (this._workspaceSignals.has(workspace))
continue; continue;
@@ -1099,9 +1111,11 @@ class WindowList {
} }
_disconnectWorkspaceSignals() { _disconnectWorkspaceSignals() {
let numWorkspaces = global.screen.n_workspaces; let workspaceManager = global.workspace_manager;
let numWorkspaces = workspaceManager.n_workspaces;
for (let i = 0; i < numWorkspaces; i++) { for (let i = 0; i < numWorkspaces; i++) {
let workspace = global.screen.get_workspace_by_index(i); let workspace = workspaceManager.get_workspace_by_index(i);
let signals = this._workspaceSignals.get(workspace); let signals = this._workspaceSignals.get(workspace);
this._workspaceSignals.delete(workspace); this._workspaceSignals.delete(workspace);
workspace.disconnect(signals._windowAddedId); workspace.disconnect(signals._windowAddedId);
@@ -1179,7 +1193,7 @@ class WindowList {
Main.layoutManager.hideKeyboard(); Main.layoutManager.hideKeyboard();
this._disconnectWorkspaceSignals(); this._disconnectWorkspaceSignals();
global.screen.disconnect(this._nWorkspacesChangedId); global.workspace_manager.disconnect(this._nWorkspacesChangedId);
this._nWorkspacesChangedId = 0; this._nWorkspacesChangedId = 0;
global.window_manager.disconnect(this._switchWorkspaceId); global.window_manager.disconnect(this._switchWorkspaceId);
@@ -1189,7 +1203,7 @@ class WindowList {
Main.overview.disconnect(this._overviewShowingId); Main.overview.disconnect(this._overviewShowingId);
Main.overview.disconnect(this._overviewHidingId); Main.overview.disconnect(this._overviewHidingId);
global.screen.disconnect(this._fullscreenChangedId); global.display.disconnect(this._fullscreenChangedId);
Main.xdndHandler.disconnect(this._dragBeginId); Main.xdndHandler.disconnect(this._dragBeginId);
Main.xdndHandler.disconnect(this._dragEndId); Main.xdndHandler.disconnect(this._dragEndId);
+5 -3
View File
@@ -135,14 +135,16 @@ function enable() {
if(Main.overview.viewSelector._activePage != Main.overview.viewSelector._workspacesPage) if(Main.overview.viewSelector._activePage != Main.overview.viewSelector._workspacesPage)
return false; return false;
let workspaceManager = global.workspace_manager;
if ((o.get_key_symbol() == Clutter.KEY_Alt_L || if ((o.get_key_symbol() == Clutter.KEY_Alt_L ||
o.get_key_symbol() == Clutter.KEY_Alt_R) o.get_key_symbol() == Clutter.KEY_Alt_R)
&& !this._pickWorkspace) { && !this._pickWorkspace) {
this._prevFocusActor = global.stage.get_key_focus(); this._prevFocusActor = global.stage.get_key_focus();
global.stage.set_key_focus(null); global.stage.set_key_focus(null);
this._active = global.screen.get_active_workspace_index(); this._active = workspaceManager.get_active_workspace_index();
this._pickWindow = true; this._pickWindow = true;
this._workspaces[global.screen.get_active_workspace_index()].showWindowsTooltips(); this._workspaces[workspaceManager.get_active_workspace_index()].showWindowsTooltips();
return true; return true;
} }
if ((o.get_key_symbol() == Clutter.KEY_Control_L || if ((o.get_key_symbol() == Clutter.KEY_Control_L ||
@@ -166,7 +168,7 @@ function enable() {
return true; return true;
if (this._pickWindow) { if (this._pickWindow) {
if (this._active != global.screen.get_active_workspace_index()) { if (this._active != workspaceManager.get_active_workspace_index()) {
this._hideTooltips(); this._hideTooltips();
return false; return false;
} }
+22 -15
View File
@@ -25,7 +25,9 @@ class WorkspaceIndicator extends PanelMenu.Button {
constructor() { constructor() {
super(0.0, _("Workspace Indicator")); super(0.0, _("Workspace Indicator"));
this._currentWorkspace = global.screen.get_active_workspace().index(); let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace().index();
this.statusLabel = new St.Label({ y_align: Clutter.ActorAlign.CENTER, this.statusLabel = new St.Label({ y_align: Clutter.ActorAlign.CENTER,
text: this._labelText() }); text: this._labelText() });
@@ -35,12 +37,13 @@ class WorkspaceIndicator extends PanelMenu.Button {
this._workspaceSection = new PopupMenu.PopupMenuSection(); this._workspaceSection = new PopupMenu.PopupMenuSection();
this.menu.addMenuItem(this._workspaceSection); this.menu.addMenuItem(this._workspaceSection);
this._screenSignals = []; this._workspaceManagerSignals = [];
this._screenSignals.push(global.screen.connect_after('workspace-added', this._createWorkspacesSection.bind(this))); this._workspaceManagerSignals.push(workspaceManager.connect_after('workspace-added',
this._screenSignals.push(global.screen.connect_after('workspace-removed', this._createWorkspacesSection.bind(this)));
this._createWorkspacesSection.bind(this))); this._workspaceManagerSignals.push(workspaceManager.connect_after('workspace-removed',
this._screenSignals.push(global.screen.connect_after('workspace-switched', this._createWorkspacesSection.bind(this)));
this._updateIndicator.bind(this))); this._workspaceManagerSignals.push(workspaceManager.connect_after('workspace-switched',
this._updateIndicator.bind(this)));
this.actor.connect('scroll-event', this._onScrollEvent.bind(this)); this.actor.connect('scroll-event', this._onScrollEvent.bind(this));
this._createWorkspacesSection(); this._createWorkspacesSection();
@@ -55,8 +58,8 @@ class WorkspaceIndicator extends PanelMenu.Button {
} }
destroy() { destroy() {
for (let i = 0; i < this._screenSignals.length; i++) for (let i = 0; i < this._workspaceManagerSignals.length; i++)
global.screen.disconnect(this._screenSignals[i]); global.workspace_manager.disconnect(this._workspaceManagerSignals[i]);
if (this._settingsChangedId) { if (this._settingsChangedId) {
this._settings.disconnect(this._settingsChangedId); this._settings.disconnect(this._settingsChangedId);
@@ -68,7 +71,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
_updateIndicator() { _updateIndicator() {
this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.NONE); this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.NONE);
this._currentWorkspace = global.screen.get_active_workspace().index(); this._currentWorkspace = global.workspace_manager.get_active_workspace().index();
this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.DOT); this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.DOT);
this.statusLabel.set_text(this._labelText()); this.statusLabel.set_text(this._labelText());
@@ -83,12 +86,14 @@ class WorkspaceIndicator extends PanelMenu.Button {
} }
_createWorkspacesSection() { _createWorkspacesSection() {
let workspaceManager = global.workspace_manager;
this._workspaceSection.removeAll(); this._workspaceSection.removeAll();
this.workspacesItems = []; this.workspacesItems = [];
this._currentWorkspace = global.screen.get_active_workspace().index(); this._currentWorkspace = workspaceManager.get_active_workspace().index();
let i = 0; let i = 0;
for(; i < global.screen.n_workspaces; i++) { for(; i < workspaceManager.n_workspaces; i++) {
this.workspacesItems[i] = new PopupMenu.PopupMenuItem(this._labelText(i)); this.workspacesItems[i] = new PopupMenu.PopupMenuItem(this._labelText(i));
this._workspaceSection.addMenuItem(this.workspacesItems[i]); this._workspaceSection.addMenuItem(this.workspacesItems[i]);
this.workspacesItems[i].workspaceId = i; this.workspacesItems[i].workspaceId = i;
@@ -106,8 +111,10 @@ class WorkspaceIndicator extends PanelMenu.Button {
} }
_activate(index) { _activate(index) {
if(index >= 0 && index < global.screen.n_workspaces) { let workspaceManager = global.workspace_manager;
let metaWorkspace = global.screen.get_workspace_by_index(index);
if(index >= 0 && index < workspaceManager.n_workspaces) {
let metaWorkspace = workspaceManager.get_workspace_by_index(index);
metaWorkspace.activate(global.get_current_time()); metaWorkspace.activate(global.get_current_time());
} }
} }
@@ -123,7 +130,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
return; return;
} }
let newIndex = global.screen.get_active_workspace().index() + diff; let newIndex = global.workspace_manager.get_active_workspace().index() + diff;
this._activate(newIndex); this._activate(newIndex);
} }
}; };
+1 -1
View File
@@ -1,5 +1,5 @@
project('gnome-shell-extensions', project('gnome-shell-extensions',
version: '3.28.1', version: '3.29.3',
meson_version: '>= 0.44.0', meson_version: '>= 0.44.0',
license: 'GPL2+' license: 'GPL2+'
) )