From 5743b52ec88bb9908f19ae133f3b1527f3f71be6 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 16 Oct 2019 18:16:12 +0200 Subject: [PATCH] workspace: Replace ClutterClone by MetaWindowContent --- js/ui/workspace.js | 12 ++++++------ js/ui/workspaceThumbnail.js | 8 +++++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/js/ui/workspace.js b/js/ui/workspace.js index ac53fa41c..3e67cb84e 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -84,7 +84,7 @@ class WindowCloneLayout extends Clutter.LayoutManager { if (child == container._windowClone) realWindow = container.realWindow; else - realWindow = child.source; + realWindow = child.content.window_actor; child.allocate(this._makeBoxForWindow(realWindow.meta_window), flags); @@ -110,7 +110,7 @@ var WindowClone = GObject.registerClass({ this.metaWindow._delegate = this; this._workspace = workspace; - this._windowClone = new Clutter.Clone({ source: realWindow }); + this._windowClone = new Clutter.Actor({ content: realWindow.content }); // We expect this to be used for all interaction rather than // this._windowClone; as the former is reactive and the latter // is not, this just works for most cases. However, for DND all @@ -197,7 +197,7 @@ var WindowClone = GObject.registerClass({ // Delete all windows, starting from the bottom-most (most-modal) one let windows = this.get_children(); for (let i = windows.length - 1; i >= 1; i--) { - let realWindow = windows[i].source; + let realWindow = windows[i].content.window_actor; let metaWindow = realWindow.meta_window; metaWindow.delete(global.get_current_time()); @@ -229,7 +229,7 @@ var WindowClone = GObject.registerClass({ } _doAddAttachedDialog(metaWin, realWin) { - let clone = new Clutter.Clone({ source: realWin }); + let clone = new Clutter.Actor({ content: realWin.content }); clone._sizeChangedId = metaWin.connect('size-changed', this._onMetaWindowSizeChanged.bind(this)); clone._posChangedId = metaWin.connect('position-changed', @@ -282,7 +282,7 @@ var WindowClone = GObject.registerClass({ if (child == this._windowClone) realWindow = this.realWindow; else - realWindow = child.source; + realWindow = child.content.window_actor; let metaWindow = realWindow.meta_window; rect = rect.union(metaWindow.get_frame_rect()); @@ -327,7 +327,7 @@ var WindowClone = GObject.registerClass({ if (child == this._windowClone) realWindow = this.realWindow; else - realWindow = child.source; + realWindow = child.content.window_actor; realWindow.meta_window.disconnect(child._sizeChangedId); realWindow.meta_window.disconnect(child._posChangedId); diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index ff23d9e2e..c614df6fa 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -53,7 +53,8 @@ var WindowClone = GObject.registerClass({ } }, class WindowClone extends Clutter.Actor { _init(realWindow) { - let clone = new Clutter.Clone({ source: realWindow }); + let clone = new Clutter.Actor({ content: realWindow.content, + request_mode: Clutter.RequestMode.CONTENT_SIZE }); super._init({ layout_manager: new PrimaryActorLayout(clone), reactive: true @@ -137,7 +138,8 @@ var WindowClone = GObject.registerClass({ } _doAddAttachedDialog(metaDialog, realDialog) { - let clone = new Clutter.Clone({ source: realDialog }); + let clone = new Clutter.Actor({ content: realDialog.content, + request_mode: Clutter.RequestMode.CONTENT_SIZE }); this._updateDialogPosition(realDialog, clone); clone._updateId = realDialog.connect('notify::position', dialog => { @@ -163,7 +165,7 @@ var WindowClone = GObject.registerClass({ _disconnectSignals() { this.get_children().forEach(child => { - let realWindow = child.source; + let realWindow = child.content.window_actor; realWindow.disconnect(child._updateId); realWindow.disconnect(child._destroyId);