diff --git a/src/extern/kwin.d.ts b/src/extern/kwin.d.ts index cc65f54..20fd894 100644 --- a/src/extern/kwin.d.ts +++ b/src/extern/kwin.d.ts @@ -56,7 +56,7 @@ interface KwinClient { keepBelow: boolean; shade: boolean; minimized: boolean; - frameGeometry: QRect; + frameGeometry: QmlRect; desktop: number; // -1 means all desktops tile: Tile; @@ -69,7 +69,7 @@ interface KwinClient { moveResizedChanged: QSignal<[void]>; moveResizeCursorChanged: QSignal<[void]>; clientStartUserMovedResized: QSignal<[void]>; - frameGeometryChanged: QSignal<[KwinClient, oldGeometry: QRect]>; + frameGeometryChanged: QSignal<[KwinClient, oldGeometry: QmlRect]>; // Functions setMaximize(vertically: boolean, horizontally: boolean): void; diff --git a/src/extern/qt.d.ts b/src/extern/qt.d.ts index 61876d8..cd66857 100644 --- a/src/extern/qt.d.ts +++ b/src/extern/qt.d.ts @@ -4,7 +4,7 @@ declare const console: { }; declare const Qt: { - rect(x: number, y: number, width: number, height: number): QRect; + rect(x: number, y: number, width: number, height: number): QmlRect; createQmlObject(qml: string, parent: QmlObject); }; @@ -12,7 +12,7 @@ type QmlObject = unknown; type QByteArray = string; -type QRect = { +type QmlRect = { x: number; y: number; width: number; diff --git a/src/layout/Desktop.ts b/src/layout/Desktop.ts index 1156375..09da5ea 100644 --- a/src/layout/Desktop.ts +++ b/src/layout/Desktop.ts @@ -6,8 +6,8 @@ class Desktop { private scrollX: number; private dirty: boolean; private dirtyPins: boolean; - public clientArea: QRect; - public tilingArea: QRect; + public clientArea: QmlRect; + public tilingArea: QmlRect; constructor(desktopNumber: number, pinManager: PinManager, config: Desktop.Config, layoutConfig: LayoutConfig) { this.pinManager = pinManager; @@ -38,7 +38,7 @@ class Desktop { return workspace.clientArea(ClientAreaOption.PlacementArea, 0, desktopNumber); } - private static getTilingArea(clientArea: QRect, desktopNumber: number, pinManager: PinManager, config: Desktop.Config) { + private static getTilingArea(clientArea: QmlRect, desktopNumber: number, pinManager: PinManager, config: Desktop.Config) { const availableSpace = pinManager.getAvailableSpace(desktopNumber, clientArea); const top = availableSpace.top + config.marginTop; const bottom = availableSpace.bottom - config.marginBottom; diff --git a/src/layout/Window.ts b/src/layout/Window.ts index 03dda49..9bc9be2 100644 --- a/src/layout/Window.ts +++ b/src/layout/Window.ts @@ -106,7 +106,7 @@ class Window { this.column.grid.desktop.onLayoutChanged(); } - public onUserResize(oldGeometry: QRect, resizeNeighborColumn: boolean) { + public onUserResize(oldGeometry: QmlRect, resizeNeighborColumn: boolean) { const newGeometry = this.client.kwinClient.frameGeometry; const widthDelta = newGeometry.width - oldGeometry.width; const heightDelta = newGeometry.height - oldGeometry.height; diff --git a/src/world/ClientWrapper.ts b/src/world/ClientWrapper.ts index 3e15f0a..4988a8f 100644 --- a/src/world/ClientWrapper.ts +++ b/src/world/ClientWrapper.ts @@ -6,7 +6,7 @@ class ClientWrapper { private readonly rulesSignalManager: SignalManager | null; public preferredWidth: number; private readonly manipulatingGeometry: Doer; - private lastPlacement: QRect | null; // workaround for issue #19 + private lastPlacement: QmlRect | null; // workaround for issue #19 constructor( kwinClient: KwinClient, @@ -92,7 +92,7 @@ class ClientWrapper { return this.kwinClient.shade; } - public isManipulatingGeometry(newGeometry: QRect | null) { + public isManipulatingGeometry(newGeometry: QmlRect | null) { if (newGeometry !== null && newGeometry === this.lastPlacement) { return true; } @@ -108,7 +108,7 @@ class ClientWrapper { this.transients.splice(i, 1); } - public ensureTransientsVisible(screenSize: QRect) { + public ensureTransientsVisible(screenSize: QmlRect) { for (const transient of this.transients) { if (transient.stateManager.getState() instanceof ClientState.Floating) { transient.ensureVisible(screenSize); @@ -117,7 +117,7 @@ class ClientWrapper { } } - public ensureVisible(screenSize: QRect) { + public ensureVisible(screenSize: QmlRect) { if (this.kwinClient.desktop !== workspace.currentDesktop) { return; } diff --git a/src/world/PinManager.ts b/src/world/PinManager.ts index d502346..a9bc053 100644 --- a/src/world/PinManager.ts +++ b/src/world/PinManager.ts @@ -13,7 +13,7 @@ class PinManager { this.pinnedClients.delete(kwinClient); } - public getAvailableSpace(desktopNumber: number, screen: QRect) { + public getAvailableSpace(desktopNumber: number, screen: QmlRect) { const baseLot = new PinManager.Lot(screen.top, screen.bottom, screen.left, screen.right); let lots = [baseLot]; for (const client of this.pinnedClients) { @@ -53,7 +53,7 @@ namespace PinManager { public readonly right: number, ) {} - public split(destLots: Lot[], obstacle: QRect) { + public split(destLots: Lot[], obstacle: QmlRect) { if (!this.contains(obstacle)) { // don't split destLots.push(this); @@ -74,7 +74,7 @@ namespace PinManager { } } - private contains(obstacle: QRect) { + private contains(obstacle: QmlRect) { return obstacle.right >= this.left && obstacle.left <= this.right && obstacle.bottom >= this.top && obstacle.top <= this.bottom; } diff --git a/src/world/clientState/Docked.ts b/src/world/clientState/Docked.ts index 91fb673..df2c764 100644 --- a/src/world/clientState/Docked.ts +++ b/src/world/clientState/Docked.ts @@ -16,7 +16,7 @@ namespace ClientState { private static initSignalManager(world: World, kwinClient: KwinClient) { const manager = new SignalManager(); - manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QRect) => { + manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QmlRect) => { world.onScreenResized(); }); return manager; diff --git a/src/world/clientState/Pinned.ts b/src/world/clientState/Pinned.ts index a9baf48..a2e837c 100644 --- a/src/world/clientState/Pinned.ts +++ b/src/world/clientState/Pinned.ts @@ -41,7 +41,7 @@ namespace ClientState { } }); - manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QRect) => { + manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QmlRect) => { if (kwinClient.tile === null) { world.do((clientManager, desktopManager) => { clientManager.unpinClient(kwinClient); diff --git a/src/world/clientState/Tiled.ts b/src/world/clientState/Tiled.ts index 656331e..ffd0b31 100644 --- a/src/world/clientState/Tiled.ts +++ b/src/world/clientState/Tiled.ts @@ -83,7 +83,7 @@ namespace ClientState { cursorChangedAfterResizeStart = false; }); - manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QRect) => { + manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QmlRect) => { // on Wayland, this fires after `tileChanged` if (kwinClient.tile !== null) { world.do((clientManager, desktopManager) => { @@ -158,7 +158,7 @@ namespace ClientState { client.setMaximize(false, false); } - private static restoreClientAfterTiling(client: ClientWrapper, config: LayoutConfig, defaultState: Tiled.WindowState, screenSize: QRect) { + private static restoreClientAfterTiling(client: ClientWrapper, config: LayoutConfig, defaultState: Tiled.WindowState, screenSize: QmlRect) { if (config.skipSwitcher) { client.kwinClient.skipSwitcher = defaultState.skipSwitcher; }