tests: MockWorkspace.removeWindow: unfocus before focusing

This commit is contained in:
Peter Fajdiga
2025-09-07 16:47:11 +02:00
parent 1b592c5b4b
commit 9910bc7041
2 changed files with 5 additions and 2 deletions

View File

@@ -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]],
);
}

View File

@@ -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);
}
};
}