xpra icon
Bug tracker and wiki

Opened 3 months ago

Last modified 7 days ago

#1717 assigned task

python3 gtk3 client feature parity

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 2.3
Component: client Version: trunk
Keywords: Cc:


Split from #1568.

Remaining features missing from the python3 / GTK3 client.
Most of those can be seen in the GTK2 version:


  • initial focus bits?
  • drag n drop (#1493)
  • workspace bits
  • pointer overlay

Change History (8)

comment:1 Changed 3 months ago by Antoine Martin

Status: newassigned

comment:2 Changed 2 months ago by Antoine Martin

comment:3 Changed 2 months ago by Antoine Martin

comment:4 Changed 7 weeks ago by Antoine Martin

macos issues in ticket:1575#comment:10 : opengl, extended input devices support, and gtk2 notification needs porting (see #1492) since macos notifications are unusable (#1305)

Last edited 7 weeks ago by Antoine Martin (previous) (diff)

comment:5 Changed 2 weeks ago by Antoine Martin

comment:6 Changed 2 weeks ago by Antoine Martin

  • r18336: add stub gdk3 bindings so we can use functionality not exposed via the gi bindings
  • r18338 + r18344: opengl support for macos (needs a little bit more work to enable by default)

comment:7 Changed 13 days ago by Antoine Martin

now 90% complete:

  • r18347 + r18348 + r18349: full macos opengl support, including changing GPU on the fly, etc
  • r18350 + r18351: "pointer overlay" merged into common GTK2 / GTK3 superclass, tested with win32 shadow server
  • r18352: "multi-screen" (untested but low risk)
  • r18353: workspace support, tested with: xpra control :DISPLAY workspace WINDOWID WORKSPACE
  • r18357: drag-n-drop (big)

Still TODO:

  • focus with grabs requires add_event_receiver glue
  • win32: max size hint, refactor get_window_handle (duplicated), setting cursors crashes (even a default one!?)
  • posix: x11 property watcher, xprops
  • macos: mouse wheel handler filter (if still needed)
Last edited 12 days ago by Antoine Martin (previous) (diff)

comment:8 Changed 11 days ago by Antoine Martin

General updates:


  • max-size works with gtk3 so no need for our native workaround there
  • r18370: get_window_handle refactored
  • r18372: workaround cursor crash using pillow to resize


Still TODO:

  • launcher doesn't have "advanced" mode encoding selection
  • pointer grabs don't work with GTK3? we should also add an event listener for: EventGrabBroken
  • opengl rendering context does not work with override-redirect windows on win32 (disabled in r18391), though no errors are reported anywhere..
  • macos mouse wheel, see also: Gdk.Window.set_support_multidevice - maybe GTK3 can give us per-device events? (will they be normalized?)
  • macos fullscreen doesn't work with GTK3?
  • macos cmd-q crashes? (see ticket:1766#comment:21)
  • macos: after maximize the screen is offset upward (see ticket:1766#comment:26)
Last edited 7 days ago by Antoine Martin (previous) (diff)
Note: See TracTickets for help on using tickets.