xfwm: tidy up geometry handling

Enrico Weigelt, metux IT consult lkml at metux.net
Sat Oct 29 20:33:44 CEST 2022

Hello folks,

I'm currently trying to tidy up accumulated technical debt in xfwm,
eg. in geometry handling: we've got lots of different ways to store
and pass coordinates, eg. invidual int fields, GdkRectangle,
XWindowChanges struct, etc. In many places they have to be transformed
from one form to another, thus lots of code explicit field assignments.
Obviously thats quite complicated and hard to understand

Since those coords are used in so many places, it's not an easy task,
especially when patches shall be easily digestable for review. Meanwhile
I did several tries, some of them already thrown away.

One of the things I finally want to achieve is having compact and easily
understandable code, especially the transformation between client and
frame geometry (eg. also cache the frame geometry) ... finally, I'd like
to separate frame and client in a way that move/resize handling shall
essentially operate on the frames and just resync the client when done.

Yes that is a tuff task, there will be many trials and errors on that
endavour, so i try my best to do it in small, digestable steps.

The first step is this MR, which is the first vital step of isolating
geometry storage - many more to follow:


I'd really appreciate if you folks could take some time to review
my other MRs, too.


Hinweis: unverschlüsselte E-Mails können leicht abgehört und manipuliert
werden ! Für eine vertrauliche Kommunikation senden Sie bitte ihren
GPG/PGP-Schlüssel zu.
Enrico Weigelt, metux IT consult
Free software and Linux embedded engineering
info at metux.net -- +49-151-27565287

More information about the Xfce4-dev mailing list