Skip to content

Remove Window.clientPos and Window.clientSize properties

Vlad Zahorodnii requested to merge work/zzag/no-client-pos-size-properties into master

The main motivation behind this change is to reduce the number of geometry properties, in particular limit the use of clientPos that can't be expressed as an alias to clientGeometry().topLeft().

The client geometry is not useful to scripts as they lack functions to go from one type of geometry to another. The scripts use exclusively the frame geometry.

The client geometry is not that useful in kwin too, similar to scripts, almost all our window management code works with frame geometry. Client geometry is useful when requesting the client to resize the window.


In order to ensure that this change won't wreck havoc, I analyzed the source code of a few popular scripts such as Exquisite, Bismuth, and other tiling scripts. Neither relies on the client geometry.

Merge request reports

Loading