From 4e09f9832ded17cdab006d1588943ab35808d1f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Mon, 4 Mar 2019 03:00:12 +0100 Subject: [PATCH] window-created: Use `first-frame` signal (show no longer works) This required some reworking of the showHandler, so that the window actors would stay hidden properly until under our control. --- tiling.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tiling.js b/tiling.js index 0f6cba3..ced9f10 100644 --- a/tiling.js +++ b/tiling.js @@ -1622,8 +1622,9 @@ class Spaces extends Map { debug('window-created', metaWindow.title); let actor = metaWindow.get_compositor_private(); + animateWindow(metaWindow); let signal = actor.connect( - 'show', + 'first-frame', () => { actor.disconnect(signal); insertWindow(metaWindow, {}); @@ -2282,12 +2283,13 @@ function showHandler(actor) { let metaWindow = actor.meta_window; let onActive = metaWindow.get_workspace() === workspaceManager.get_active_workspace(); - if (!metaWindow.clone.get_parent()) + if (!metaWindow.clone.get_parent() && !metaWindow.unmapped) return; if (!onActive || isWindowAnimating(metaWindow) - // The built-in workspace-change animation is running: suppress it + || metaWindow.unmapped + // The built-in workspace-change animation is running: suppress it || actor.get_parent() !== global.window_group ) { animateWindow(metaWindow);