xpra icon
Bug tracker and wiki

Opened 11 months ago

Closed 6 months ago

#1717 closed task (fixed)

python3 gtk3 client feature parity

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

Description

Split from #1568.

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

browser/xpra/trunk/src/xpra/client/gtk2/gtk2_window_base.py.

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

Change History (11)

comment:1 Changed 11 months ago by Antoine Martin

Status: newassigned

comment:2 Changed 10 months ago by Antoine Martin

comment:3 Changed 10 months ago by Antoine Martin

comment:4 Changed 10 months 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 10 months ago by Antoine Martin (previous) (diff)

comment:5 Changed 9 months ago by Antoine Martin

comment:6 Changed 9 months 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 9 months 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 8 months ago by Antoine Martin (previous) (diff)

comment:8 Changed 8 months ago by Antoine Martin

General updates:

win32

  • 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

Posix

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)
  • win32: crash with firefox's proxy authentication dialog (when firefox started after connecting only?)
Last edited 7 months ago by Antoine Martin (previous) (diff)

comment:9 Changed 7 months ago by mviereck

Is there a possibility to enable the GTK3 client?
I would like to test it on debian, especially in pure Wayland environments without X/Xwayland.
The man page shows option --client-toolkit, but I get an error: xpra initialization error: no such option: --client-toolkit.

(Side note: the man page shows options --keyboard-raw till --sound-source as a block instead of single paragraphs.)

Last edited 7 months ago by mviereck (previous) (diff)

comment:10 Changed 7 months ago by Antoine Martin

Is there a possibility to enable the GTK3 client?

Yes, just build xpra with python3.

I would like to test it on debian, especially in pure Wayland environments without X/Xwayland.

There is no packaging for Debian yet, only RPMs for Fedora.
Note: the GTK3 client includes X11 bindings for some of the features that are not exposed through GTK. You may need to tweak the build file to disable those.

the man page shows options --keyboard-raw till --sound-source as a block instead of single paragraphs

Fixed in r18888, thanks!

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

comment:11 Changed 6 months ago by Antoine Martin

Resolution: fixed
Status: assignedclosed

This will do for this release, will follow up in #1818

Note: See TracTickets for help on using tickets.