diff --git a/src/kwinscript/driver/index.ts b/src/kwinscript/driver/index.ts index 67d8af3c..1154b031 100644 --- a/src/kwinscript/driver/index.ts +++ b/src/kwinscript/driver/index.ts @@ -399,7 +399,7 @@ export class DriverImpl implements Driver { } }); - this.connect(client.geometryChanged, () => { + this.connect(client.frameGeometryChanged, () => { if (moving) { this.controller.onWindowMove(window); } else if (resizing) { diff --git a/src/kwinscript/driver/window.ts b/src/kwinscript/driver/window.ts index 2377419d..ecc8f3a1 100644 --- a/src/kwinscript/driver/window.ts +++ b/src/kwinscript/driver/window.ts @@ -98,7 +98,7 @@ export class DriverWindowImpl implements DriverWindow { } public get geometry(): Rect { - return Rect.fromQRect(this.client.geometry); + return Rect.fromQRect(this.client.frameGeometry); } public get active(): boolean { @@ -287,7 +287,7 @@ export class DriverWindowImpl implements DriverWindow { geometry = this.adjustGeometry(geometry); } } - this.client.geometry = geometry.toQRect(); + this.client.frameGeometry = geometry.toQRect(); } } @@ -321,8 +321,8 @@ export class DriverWindowImpl implements DriverWindow { /* do not resize fixed-size windows */ if (!this.client.resizeable) { - width = this.client.geometry.width; - height = this.client.geometry.height; + width = this.client.frameGeometry.width; + height = this.client.frameGeometry.height; } else { /* respect min/max size limit */ width = clip(width, this.client.minSize.width, this.client.maxSize.width); diff --git a/src/kwinscript/extern/kwin.d.ts b/src/kwinscript/extern/kwin.d.ts index 91171df0..06ce3088 100644 --- a/src/kwinscript/extern/kwin.d.ts +++ b/src/kwinscript/extern/kwin.d.ts @@ -146,9 +146,8 @@ declare namespace KWin { /** * This signal is emitted when the Toplevel's frame geometry changes. - * @deprecated since 5.19, use frameGeometryChanged instead */ - geometryChanged: QSignal; + frameGeometryChanged: QSignal; /** * Emitted whenever the Toplevel's screen changes. This can happen either in consequence to @@ -157,7 +156,7 @@ declare namespace KWin { screenChanged: QSignal; /** - * Emitted when the toplevel is shown? + * Emitted when the Toplevel is shown? */ windowShown: QSignal; } @@ -230,9 +229,10 @@ declare namespace KWin { fullScreen: boolean; /** - * Window geometry + * This property holds the geometry of the Toplevel, excluding invisible + * portions, e.g. server-side and client-side drop-shadows, etc. */ - geometry: QRect; + frameGeometry: QRect; /** * Whether the window is set to be above all