From 9910bc7041b406d5dae80c4a416788e7597be2c3 Mon Sep 17 00:00:00 2001 From: Peter Fajdiga Date: Sun, 7 Sep 2025 16:47:11 +0200 Subject: [PATCH] tests: MockWorkspace.removeWindow: unfocus before focusing --- src/tests/flows/passFocus.ts | 2 +- src/tests/utils/mocks/MockWorkspace.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/tests/flows/passFocus.ts b/src/tests/flows/passFocus.ts index 4813946..35f92b6 100644 --- a/src/tests/flows/passFocus.ts +++ b/src/tests/flows/passFocus.ts @@ -13,7 +13,7 @@ tests.register("Pass focus", 20, () => { function removeWindow(client: MockKwinClient) { runOneOf( () => workspaceMock.removeWindow(client), - () => client.desktops = [workspaceMock.desktops[1]], + // () => client.desktops = [workspaceMock.desktops[1]], ); } diff --git a/src/tests/utils/mocks/MockWorkspace.ts b/src/tests/utils/mocks/MockWorkspace.ts index bfdf174..2554e2e 100644 --- a/src/tests/utils/mocks/MockWorkspace.ts +++ b/src/tests/utils/mocks/MockWorkspace.ts @@ -52,13 +52,16 @@ class MockWorkspace { } public removeWindow(window: MockKwinClient) { + Workspace.activeWindow = null; runReorder( () => this.windows.splice(this.windows.indexOf(window), 1), () => this.windowRemoved.fire(window), ); if (window === this.activeWindow) { const windows = this.windows.filter(w => w.desktops.includes(this.currentDesktop)); - Workspace.activeWindow = windows.length > 0 ? randomItem(windows) : null; + if (Workspace.activeWindow === null && windows.length > 0) { + Workspace.activeWindow = randomItem(windows); + } }; }