Xpra: Ticket #319: support resizing of OR windows

Split from #262.

We do not support moving or resizing of OR windows like we do for normal windows. And it looks like maybe we need to? The biggest problem is with the resizing, if the new size is bigger then we display chopped contents, and if the new size is smaller parts of the previous frame remain.

Here is an edited server event log of filelight as I move over an item (normally the tooltip would move with the cursor):

do_wimpiggy_child_map_event(<AdHocStruct object, contents:
  {'delivered_to': <gtk.gdk.Window object at 0x2bcd5a0 (GdkWindow at 0x2674ea0)>,
   'send_event': 0, 'override_redirect': 1,
   'window': <gtk.gdk.Window object at 0x309daa0 (GdkWindow at 0x2d8cc60)>,
   'serial': 19968L, 'type': 19, 'display': <gtk.gdk.Display object at 0x2a6a460 (GdkDisplayX11 at 0x2b04210)>
  }>)
(..)
Discovered new override-redirect window: 0xa00086L (tray=None)
(..)
new_window(new-override-redirect, <OverrideRedirectWindowModel object at 0x30a5c30
  (wimpiggy+window+OverrideRedirectWindowModel at 0x276d000)>,
  8, 412, 373, 102, 51, ('transient-for', 'window-type'), None)
  metadata={'window-type': ['_NET_WM_WINDOW_TYPE_UTILITY', '_KDE_NET_WM_WINDOW_TYPE_OVERRIDE', '_NET_WM_WINDOW_TYPE_NORMAL']}
(..)
BaseWindowModel.composite_configure_event(<CompositeHelper object at 0x30a5c80 (wimpiggy+composite+CompositeHelper at 0x276ba60)>,
  <AdHocStruct object,
  contents:
  {'delivered_to': <gtk.gdk.Window object at 0x309daa0 (GdkWindow at 0x2d8cc60)>,
   'send_event': 0, 'height': 51, 'width': 102,
   'window': <gtk.gdk.Window object at 0x309daa0 (GdkWindow at 0x2d8cc60)>,
   'y': 386, 'x': 364, 'serial': 20572L, 'border_width': 0, 'type': 22,
   'display': <gtk.gdk.Display object at 0x2a6a460 (GdkDisplayX11 at 0x2b04210)>
  }>)
(..)
BaseWindowModel.composite_configure_event(<CompositeHelper object at 0x30a5c80 (wimpiggy+composite+CompositeHelper at 0x276ba60)>,
  <AdHocStruct object, contents:
  {'delivered_to': <gtk.gdk.Window object at 0x309daa0 (GdkWindow at 0x2d8cc60)>,
   'send_event': 0, 'height': 51, 'width': 102,
   'window': <gtk.gdk.Window object at 0x309daa0 (GdkWindow at 0x2d8cc60)>,
   'y': 360, 'x': 391, 'serial': 21284L, 'border_width': 0, 'type': 22,
   'display': <gtk.gdk.Display object at 0x2a6a460 (GdkDisplayX11 at 0x2b04210)>
  }>)


Sat, 20 Apr 2013 01:17:02 GMT - onlyjob: cc set


Tue, 23 Apr 2013 08:17:16 GMT - Antoine Martin: owner changed

fixed in r3130

Note: I should probably have used the existing "notify::geometry" mechanism for handling window resize - now we have two: "notify::geometry" and "geometry" signals... never mind, will try to cleanup in the future.

If this works for you, please close.


Tue, 23 Apr 2013 11:26:41 GMT - onlyjob: status changed; resolution set

Works perfectly, thank you.


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

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