Xpra: Ticket #302: honour the window manager initial position hint

All the windows are currently opening in the top left corner no matter where they are set or programmed to be.



Fri, 22 Mar 2013 10:24:26 GMT - Antoine Martin: status, description, component, summary, priority, version, milestone, type changed

Note:

(standard ticket guidelines do apply.. I've updated the description)


Now, I'm not certain what "programmed to be" means (a simple code sample would certainly help - for testing if anything). In the X11 world, you can only ask politely that the window manager places your window somewhere - it may or may not oblige. See method gtkwindow move: The move() method asks the window manager to move the window to the position specified by x and y. Window managers are free to ignore this. In fact, most window managers ignore requests for initial window positions (instead using a user-defined placement algorithm) and honor requests after the window has already been shown. And in our case, it is going to be very hard to honour moves safely, see #212

The problem is that according to the wm-normal-hints spec: The x, y, width, and height members are now obsolete and are left solely for compatibility reasons. We'll just have to use them and hope that the toolkits still set them, this is both easier and safer than #212. It will also be worth reviewing the gravity stuff whilst we're at it.


Sun, 05 May 2013 14:22:02 GMT - Antoine Martin: owner, status changed

Oh, the fix was actually relatively simple. The bug was due to the confusion between the window position and its parent (once we reparent it, it is always at 0x0) and also the source of the position and size in update_client_geometry (we now honour the initial hints we record) More details in r3292.

Please confirm (bearing in mind that trunk is rough around the edges at the moment) and I will backport in 0.9.1 - note to self: the client may need another update from trunk to honour the position given:

self.move(*self._pos)

Thu, 09 May 2013 10:40:33 GMT - Antoine Martin: status changed; resolution set

not heard back, closing.

Feel free to re-open if this is not fixed.


Sat, 23 Jan 2021 04:51:06 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/302