xpra icon
Bug tracker and wiki

Changes between Version 12 and Version 15 of Ticket #812

03/27/19 14:10:17 (10 months ago)
Antoine Martin

Partial merge:

  • r22217 add time to property events
  • r22227 move nesting check so we can skip it
  • r22228 cosmetic
  • r22229 undo some of the really ugly original code from 2009! just use native struct formats directly rather than transforming them in the bindings
  • r22230 split clipboard base class so we can re-use the higher level logic without the low-level gtk bits


  • rename private fields so the helper can access them without triggering warnings, ie: _can_send
  • handle COMPOUND_TEXT?
  • move code to proxy: local_to_remote?
  • XGetWindowProperty needs to handle large data (continue) - HARD!
  • do_owner_changed() should fire a new token every time? for greedy clients only?
  • emit_token needs to get TARGETS and the data before sending
  • we use the TARGET as part of the property name and maybe we shouldn't: in some cases the property name ends up looking like this: PRIMARY-text/plain;charset=utf-8 - is this always going to be a valid property name? could this be abused?
  • the same request can timeout in two places: the remote request timeout, remotely when the remote client takes too long. Both can trigger warning and delete the request_id..


  • Ticket #812

    • Property Summary changed from re-implement clipboard without gtk or nested main to re-implement clipboard without nested main
  • Ticket #812 – Description

    v12 v15  
    11As it is, it is just too problematic: too many bugs to list, including some unresolved ones: #669, #452 (it is also causing hangs with #598). See also #2172, #2138
    3 We should be able to rip it out and just use plain X11 calls, hopefully GTK won't get too confused by this...
     3We should be able to rip it out and just use plain X11 calls (see [https://tronche.com/gui/x/icccm/sec-2.html ICCCM section 2: Peer-to-Peer Communication by Means of Selections]), hopefully GTK won't get too confused by this...
    55We can keep the existing code, at least client side, for the non-X11 platforms.