From de0f89062aa64c7e9089db374a4559c0d955dcaa Mon Sep 17 00:00:00 2001 From: Peter Fajdiga Date: Fri, 18 Aug 2023 12:53:44 +0200 Subject: [PATCH] World.doIfTiled: extract helper method `findTiledWindow` --- src/world/World.ts | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/world/World.ts b/src/world/World.ts index 6d6df0d..34f65c4 100644 --- a/src/world/World.ts +++ b/src/world/World.ts @@ -183,15 +183,14 @@ class World { this.lastFocusedClient = kwinClient; } - private doIfTiledInner(client: ClientWrapper, followTransient: boolean, f: (window: Window, column: Column, grid: Grid) => void) { + private findTiledWindow(client: ClientWrapper, followTransient: boolean): Window|null { const clientState = client.stateManager.getState(); if (clientState instanceof ClientStateTiled) { - const window = clientState.window; - const column = window.column; - const grid = column.grid; - f(window, column, grid); + return clientState.window; } else if (followTransient && client.transientFor !== null) { - this.doIfTiledInner(client.transientFor, true, f); + return this.findTiledWindow(client.transientFor, true); + } else { + return null; } } @@ -200,7 +199,15 @@ class World { if (client === undefined) { return; } - this.doIfTiledInner(client, followTransient, f); + + const window = this.findTiledWindow(client, followTransient); + if (window === null) { + return; + } + + const column = window.column; + const grid = column.grid; + f(window, column, grid); } public doIfTiledFocused(followTransient: boolean, f: (window: Window, column: Column, grid: Grid) => void) {