summaryrefslogtreecommitdiff
path: root/x11
diff options
context:
space:
mode:
authorGleb Popov <arrowd@FreeBSD.org>2023-11-22 22:15:47 +0300
committerGleb Popov <arrowd@FreeBSD.org>2023-12-17 12:32:06 +0300
commitfeb311c3fb9b1b5ea2114b4e78887216d5032398 (patch)
tree7ba22382293a8339dd0905ca5c895a529b3fdcfb /x11
parenttextproc/R-cran-brew: Update to 1.0-10 (diff)
x11/xpra: Update to 5.0.4
Diffstat (limited to 'x11')
-rw-r--r--x11/xpra/Makefile49
-rw-r--r--x11/xpra/distinfo6
-rw-r--r--x11/xpra/files/patch-setup.py20
-rw-r--r--x11/xpra/pkg-plist1046
4 files changed, 623 insertions, 498 deletions
diff --git a/x11/xpra/Makefile b/x11/xpra/Makefile
index 6ef416b0a295..3e62a3fef6df 100644
--- a/x11/xpra/Makefile
+++ b/x11/xpra/Makefile
@@ -1,5 +1,5 @@
PORTNAME= xpra
-PORTVERSION= 4.4.5
+PORTVERSION= 5.0.4
CATEGORIES= x11
MASTER_SITES= https://xpra.org/src/
@@ -10,10 +10,14 @@ WWW= https://xpra.org/
LICENSE= GPLv2
BUILD_DEPENDS= pandoc:textproc/hs-pandoc
-LIB_DEPENDS= libbrotlidec.so:archivers/brotli \
+LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
+ libbrotlidec.so:archivers/brotli \
+ libdrm.so:graphics/libdrm \
libharfbuzz.so:print/harfbuzz \
liblz4.so:archivers/liblz4 \
- libwebp.so:graphics/webp
+ libopenh264.so:multimedia/openh264 \
+ libwebp.so:graphics/webp \
+ libx264.so:multimedia/libx264
RUN_DEPENDS= ${PY_PILLOW} \
${PYTHON_PKGNAMEPREFIX}bencode.py>1:converters/py-bencode.py@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}brotli>1:archivers/py-brotli@${PY_FLAVOR} \
@@ -46,11 +50,9 @@ SHEBANG_FILES= fs/lib/cups/backend/xpraforwarder fs/libexec/xpra/auth_dialog \
fs/libexec/xpra/xdg-open fs/libexec/xpra/xpra_signal_listener \
fs/libexec/xpra/xpra_udev_product_version
-OPTIONS_DEFINE= AVAHI AVCODEC CUPS DOCS FFMPEG GSTREAMER LIBYUV SWSCALE \
- WEBCAM X265
-OPTIONS_DEFAULT= AVAHI CUPS GSTREAMER X264
-OPTIONS_RADIO= CODEC
-OPTIONS_RADIO_CODEC= VPX X264
+OPTIONS_DEFINE= AVAHI CUPS DOCS GSTREAMER LIBYUV SWSCALE \
+ WEBCAM
+OPTIONS_DEFAULT= AVAHI CUPS GSTREAMER
OPTIONS_SUB= yes
AVCODEC_DESC= Enable avcodec2 (FFmpeg) decoder
@@ -59,19 +61,12 @@ FFMPEG_DESC= Enable FFmpeg encoder
GSTREAMER_DESC= Enable GStreamer for sound forwarding
LIBYUV_DESC= Enable libyuv CSC module (fastest)
SWSCALE_DESC= Enable swscale (FFmpeg) CSC module
-VPX_DESC= Enable VP8 and VP9 codec
WEBCAM_DESC= Enable webcam forwarding (client only)
-X264_DESC= Enable X264 encoder
-X265_DESC= Enable X265 encoder
AVAHI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}avahi>0:net/py-avahi@${PY_FLAVOR}
AVAHI_VARS= XPRA_OPTIONS+=mdns
-AVCODEC_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-AVCODEC_VARS= XPRA_OPTIONS+=dec_avcodec2
CUPS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycups>1:print/py-pycups@${PY_FLAVOR}
CUPS_VARS= XPRA_OPTIONS+=printing
-FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-FFMPEG_VARS= XPRA_OPTIONS+=enc_ffmpeg
GSTREAMER_USES= gstreamer
GSTREAMER_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gstreamer1>1:multimedia/py-gstreamer1@${PY_FLAVOR}
GSTREAMER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gstreamer1>1:multimedia/py-gstreamer1@${PY_FLAVOR}
@@ -79,22 +74,16 @@ GSTREAMER_USE= GSTREAMER=flac,lame,mpg123,ogg,opus,pulse,vorbis,wavpack
GSTREAMER_VARS= XPRA_OPTIONS+=sound
LIBYUV_LIB_DEPENDS= libyuv.so:graphics/libyuv
LIBYUV_VARS= XPRA_OPTIONS+=csc_libyuv
-SWSCALE_LIB_DEPENDS= libswscale.so:multimedia/ffmpeg
SWSCALE_VARS= XPRA_OPTIONS+=csc_swscale
-VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
-VPX_VARS= XPRA_OPTIONS+=vpx
WEBCAM_RUN_DEPENDS= opencv>2:graphics/opencv
WEBCAM_VARS= XPRA_OPTIONS+=webcam
-X264_LIB_DEPENDS= libx264.so:multimedia/libx264
-X264_VARS= XPRA_OPTIONS+=enc_x264
-X265_LIB_DEPENDS= libx265.so:multimedia/x265
-X265_VARS= XPRA_OPTIONS+=enc_x265
PYDISTUTILS_PKGNAME= xpra_all
XPRA_OPTIONS_ALL+= ${XPRA_OPTIONS_DISABLED} csc_libyuv csc_swscale \
- dec_avcodec2 enc_ffmpeg enc_x264 enc_x265 \
- mdns printing sound vpx webcam
-XPRA_OPTIONS_DISABLED= strict uinput Xdummy Xdummy_wrapper
+ enc_x264 \
+ mdns printing vpx webcam
+XPRA_OPTIONS= dec_avcodec2 enc_ffmpeg enc_x264
+XPRA_OPTIONS_DISABLED= pam strict uinput vpx Xdummy Xdummy_wrapper
.include <bsd.port.options.mk>
@@ -111,6 +100,7 @@ PYDISTUTILS_ARGS+= --with-${opt}
PYDISTUTILS_BUILDARGS+= ${PYDISTUTILS_ARGS}
PYDISTUTILS_CONFIGUREARGS+= ${PYDISTUTILS_ARGS}
PYDISTUTILS_INSTALLARGS+= ${PYDISTUTILS_ARGS}
+#MAKE_ENV= pkgdir=${STAGEDIR}${PREFIX}/
post-patch:
@${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|' \
@@ -119,11 +109,14 @@ post-patch:
${WRKSRC}/fs/etc/xpra/conf.d/16_printing.conf.in
post-install:
- @${MV} ${STAGEDIR}${ETCDIR}/xorg.conf \
+ ${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${CP} -r ${STAGEDIR}/etc ${STAGEDIR}${PREFIX} && ${RM} -r ${STAGEDIR}/etc
+ ${MV} ${STAGEDIR}${ETCDIR}/xorg.conf \
${STAGEDIR}${ETCDIR}/xorg.conf.sample
- @${MV} ${STAGEDIR}${ETCDIR}/xpra.conf \
+ ${MV} ${STAGEDIR}${ETCDIR}/xpra.conf \
${STAGEDIR}${ETCDIR}/xpra.conf.sample
- @${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} -name '*.so' \
+ ${CP} -r ${STAGEDIR}${PREFIX}/etc/dbus-1 ${STAGEDIR}${PREFIX}/share && ${RM} -r ${STAGEDIR}${PREFIX}/dbus-1
+ ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} -name '*.so' \
-exec ${STRIP_CMD} {} +
.include <bsd.port.post.mk>
diff --git a/x11/xpra/distinfo b/x11/xpra/distinfo
index 9cd8f98f6a8b..5565bd36c9dd 100644
--- a/x11/xpra/distinfo
+++ b/x11/xpra/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1685894416
-SHA256 (xpra-4.4.5.tar.xz) = a36bc33f36568291057b4cb3363c2db8b3c73b419f59b4ac70a8ef21f4e2e91a
-SIZE (xpra-4.4.5.tar.xz) = 3056300
+TIMESTAMP = 1702802876
+SHA256 (xpra-5.0.4.tar.xz) = a0a2c2f8c8241628b9222b4ba9ffa3c5e3168534acf53481abba65999b4a647d
+SIZE (xpra-5.0.4.tar.xz) = 8357956
diff --git a/x11/xpra/files/patch-setup.py b/x11/xpra/files/patch-setup.py
new file mode 100644
index 000000000000..4fcbb91ab313
--- /dev/null
+++ b/x11/xpra/files/patch-setup.py
@@ -0,0 +1,20 @@
+--- setup.py.orig 2023-10-03 11:21:49 UTC
++++ setup.py
+@@ -269,7 +269,7 @@ evdi_ENABLED = DEFAULT and LINUX and pkg_co
+ keyboard_ENABLED = DEFAULT
+ v4l2_ENABLED = DEFAULT and (not WIN32 and not OSX and not FREEBSD and not OPENBSD)
+ evdi_ENABLED = DEFAULT and LINUX and pkg_config_version("1.9", "evdi")
+-drm_ENABLED = DEFAULT and LINUX and pkg_config_version("2.4", "libdrm")
++drm_ENABLED = DEFAULT and (LINUX or FREEBSD) and pkg_config_version("2.4", "libdrm")
+ #ffmpeg 3.1 or later is required
+ dec_avcodec2_ENABLED = ffmpeg_ENABLED and pkg_config_version("57", "libavcodec")
+ csc_swscale_ENABLED = ffmpeg_ENABLED and pkg_config_ok("--exists", "libswscale")
+@@ -2043,7 +2002,7 @@ if data_ENABLED:
+ if not is_openSUSE():
+ add_data_files(share_xpra, ["README.md", "COPYING"])
+ add_data_files(share_xpra, ["fs/share/xpra/bell.wav"])
+- if LINUX:
++ if LINUX or FREEBSD:
+ add_data_files(share_xpra, ["fs/share/xpra/autostart.desktop"])
+ ICONS = glob.glob("fs/share/xpra/icons/*.png")
+ if OSX:
diff --git a/x11/xpra/pkg-plist b/x11/xpra/pkg-plist
index d2a2899b092f..7748e4fe109c 100644
--- a/x11/xpra/pkg-plist
+++ b/x11/xpra/pkg-plist
@@ -8,7 +8,7 @@ etc/dbus-1/system.d/xpra.conf
%%ETCDIR%%/conf.d/12_ssl.conf
%%ETCDIR%%/conf.d/15_file_transfers.conf
%%ETCDIR%%/conf.d/16_printing.conf
-%%ETCDIR%%/conf.d/20_sound.conf
+%%ETCDIR%%/conf.d/20_audio.conf
%%ETCDIR%%/conf.d/30_picture.conf
%%ETCDIR%%/conf.d/35_webcam.conf
%%ETCDIR%%/conf.d/40_client.conf
@@ -44,6 +44,10 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/common%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/exit_codes%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/exit_codes%%PYTHON_EXT_SUFFIX%%.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/__pycache__/gst_common%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/__pycache__/gst_common%%PYTHON_EXT_SUFFIX%%.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/__pycache__/gst_pipeline%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/__pycache__/gst_pipeline%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/log%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/log%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/make_thread%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -52,14 +56,54 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/os_util%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/queue_scheduler%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/queue_scheduler%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/__pycache__/scaling_parser%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/__pycache__/scaling_parser%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/simple_stats%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/simple_stats%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/__pycache__/splash_screen%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/__pycache__/splash_screen%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/src_info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/src_info%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/util%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/version_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/__pycache__/version_util%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/audio_pipeline%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/audio_pipeline%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/common%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/common%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/gstreamer_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/gstreamer_util%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/sink%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/sink%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/src%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/src%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/wrapper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/__pycache__/wrapper%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/audio_pipeline.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/common.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/gstreamer_util.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/pulseaudio_common_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/pulseaudio_common_util%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/pulseaudio_none_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/pulseaudio_none_util%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/pulseaudio_pactl_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/pulseaudio_pactl_util%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/pulseaudio_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/__pycache__/pulseaudio_util%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/pulseaudio_common_util.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/pulseaudio_none_util.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/pulseaudio_pactl_util.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/pulseaudio/pulseaudio_util.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/sink.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/src.py
+%%PYTHON_SITELIBDIR%%/xpra/audio/wrapper.py
%%PYTHON_SITELIBDIR%%/xpra/buffers/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/buffers/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/buffers/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -71,42 +115,6 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/client_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/client_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/client_tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/client_tray%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/client_widget_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/client_widget_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/client_window_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/client_window_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/fake_window_backing%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/fake_window_backing%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/gobject_client_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/gobject_client_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/keyboard_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/keyboard_helper%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/keyboard_shortcuts_parser%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/keyboard_shortcuts_parser%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/mixin_features%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/mixin_features%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/paint_colors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/paint_colors%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/rfb_protocol%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/rfb_protocol%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/scaling_parser%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/scaling_parser%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/spinner%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/spinner%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/top_client%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/top_client%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/tray_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/tray_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/ui_client_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/ui_client_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/window_backing_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/window_backing_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/window_border%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/window_border%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/auth/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/client/auth/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/auth/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -131,11 +139,30 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/auth/prompt_handler.py
%%PYTHON_SITELIBDIR%%/xpra/client/auth/u2f_handler.py
%%PYTHON_SITELIBDIR%%/xpra/client/auth/uri_handler.py
-%%PYTHON_SITELIBDIR%%/xpra/client/client_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/client_tray.py
-%%PYTHON_SITELIBDIR%%/xpra/client/client_widget_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/client_window_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/fake_window_backing.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/client_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/client_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/fileprint_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/fileprint_mixin%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/gobject_client_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/gobject_client_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/rfb_protocol%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/rfb_protocol%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/serverinfo_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/serverinfo_mixin%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/stub_client_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/stub_client_mixin%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/top_client%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/__pycache__/top_client%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/base/client_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/fileprint_mixin.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/gobject_client_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/rfb_protocol.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/serverinfo_mixin.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/stub_client_mixin.py
+%%PYTHON_SITELIBDIR%%/xpra/client/base/top_client.py
%%PYTHON_SITELIBDIR%%/xpra/client/gl/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/client/gl/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gl/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -169,185 +196,217 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/gl/gtk3/gl_drawing_area.py
%%PYTHON_SITELIBDIR%%/xpra/client/gl/gtk3/nativegl_client_window.py
%%PYTHON_SITELIBDIR%%/xpra/client/gl/window_backend.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gobject_client_base.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/bug_report%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/bug_report%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/cairo_backing%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/cairo_backing%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/cairo_backing_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/cairo_backing_base%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/client%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/client%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/client_launcher%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/client_launcher%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/client_window%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/client_window%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/confirm_dialog%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/confirm_dialog%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk3_client_window%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk3_client_window%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk3_notifier%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk3_notifier%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_client_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_client_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_client_window_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_client_window_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_keyboard_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_keyboard_helper%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_spinner%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_spinner%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_tray_menu_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk_tray_menu_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/mdns_gui%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/mdns_gui%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/menu_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/menu_helper%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/open_requests%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/open_requests%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/pass_dialog%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/pass_dialog%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/qrcode_client%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/qrcode_client%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/server_commands%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/server_commands%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/session_info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/session_info%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/sessions_gui%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/sessions_gui%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/show_shortcuts%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/show_shortcuts%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/splash_screen%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/splash_screen%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/start_new_command%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/start_new_command%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/statusicon_tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/statusicon_tray%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/toolbox%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/toolbox%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/tray_menu%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/tray_menu%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/u2f_tool%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/u2f_tool%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/update_status%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/update_status%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_info%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_menu%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_menu%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/bug_report.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/cairo_backing.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/cairo_backing_base.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/cairo_workaround%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/client.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/client_launcher.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/client_window.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/confirm_dialog.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/bell%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/bell%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/clicks%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/clicks%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/colors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/colors%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/colors_gradient%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/colors_gradient%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/colors_plain%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/colors_plain%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/cursors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/cursors%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/file_chooser%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/file_chooser%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/fontrendering%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/fontrendering%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/grabs%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/grabs%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/header_bar%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/header_bar%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/initiate_moveresize%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/initiate_moveresize%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/text_entry%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/text_entry%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/transparent_colors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/transparent_colors%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/transparent_window%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/transparent_window%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/tray%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_focus%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_focus%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_geometry_hints%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_geometry_hints%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_opacity%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_opacity%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_overrideredirect%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_overrideredirect%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_states%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_states%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_title%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_title%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_transient%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/__pycache__/window_transient%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/bell.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/clicks.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/colors.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/colors_gradient.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/colors_plain.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/cursors.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/file_chooser.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/fontrendering.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/grabs.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/header_bar.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/initiate_moveresize.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/text_entry.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/transparent_colors.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/transparent_window.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/tray.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/window_focus.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/window_geometry_hints.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/window_opacity.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/window_overrideredirect.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/window_states.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/window_title.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/example/window_transient.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/gtk3_client_window.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/gtk3_notifier.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/gtk_client_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/gtk_client_window_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/gtk_keyboard_helper.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/gtk_spinner.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/gtk_tray_menu_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/mdns_gui.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/menu_helper.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/open_requests.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/pass_dialog.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/qrcode_client.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/server_commands.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/session_info.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/sessions_gui.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/show_shortcuts.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/splash_screen.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/start_new_command.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/statusicon_tray.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/toolbox.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/tray_menu.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/u2f_tool.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/update_status.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window_info.py
%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/window_menu.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__init__.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/bug_report%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/bug_report%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/cairo_backing_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/cairo_backing_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/client_launcher%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/client_launcher%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/confirm_dialog%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/confirm_dialog%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/css_overrides%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/css_overrides%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_client_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_client_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_client_window_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_client_window_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_keyboard_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_keyboard_helper%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_spinner%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_spinner%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_tray_menu_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_tray_menu_base%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/mdns_gui%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/mdns_gui%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/menu_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/menu_helper%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/open_requests%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/open_requests%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/pass_dialog%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/pass_dialog%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/server_commands%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/server_commands%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/session_info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/session_info%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/sessions_gui%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/sessions_gui%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/start_new_command%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/start_new_command%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/statusicon_tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/statusicon_tray%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/toolbox%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/toolbox%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/u2f_tool%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/u2f_tool%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/update_status%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/update_status%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/window_info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/window_info%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/bug_report.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/cairo_backing_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/client_launcher.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/confirm_dialog.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/css_overrides.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__init__.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/bell%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/bell%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/clicks%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/clicks%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/colors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/colors%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/colors_gradient%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/colors_gradient%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/colors_plain%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/colors_plain%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/cursors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/cursors%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/file_chooser%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/file_chooser%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/fontrendering%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/fontrendering%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/grabs%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/grabs%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/header_bar%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/header_bar%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/initiate_moveresize%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/initiate_moveresize%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/text_entry%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/text_entry%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/transparent_colors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/transparent_colors%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/transparent_window%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/transparent_window%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/tray%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_focus%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_focus%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_geometry_hints%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_geometry_hints%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_opacity%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_opacity%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_overrideredirect%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_overrideredirect%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_states%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_states%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_title%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_title%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_transient%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_transient%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/bell.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/clicks.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/colors.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/colors_gradient.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/colors_plain.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/cursors.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/file_chooser.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/fontrendering.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/grabs.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/header_bar.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/initiate_moveresize.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/text_entry.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/transparent_colors.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/transparent_window.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/tray.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/window_focus.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/window_geometry_hints.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/window_opacity.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/window_overrideredirect.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/window_states.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/window_title.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/window_transient.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/gtk_client_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/gtk_client_window_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/gtk_keyboard_helper.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/gtk_spinner.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/gtk_tray_menu_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/mdns_gui.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/menu_helper.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/open_requests.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/pass_dialog.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/server_commands.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/session_info.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/sessions_gui.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/start_new_command.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/statusicon_tray.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/toolbox.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/u2f_tool.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/update_status.py
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/window_info.py
-%%PYTHON_SITELIBDIR%%/xpra/client/keyboard_helper.py
-%%PYTHON_SITELIBDIR%%/xpra/client/keyboard_shortcuts_parser.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixin_features.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/client_tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/client_tray%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/client_widget_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/client_widget_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/client_window_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/client_window_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/fake_client%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/fake_client%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/fake_window_backing%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/fake_window_backing%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/keyboard_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/keyboard_helper%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/keyboard_shortcuts_parser%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/keyboard_shortcuts_parser%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/mixin_features%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/mixin_features%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/paint_colors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/paint_colors%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/spinner%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/spinner%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/tray_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/tray_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/ui_client_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/ui_client_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/window_backing_base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/window_backing_base%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/window_border%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/__pycache__/window_border%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/client_tray.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/client_widget_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/client_window_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/fake_client.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/fake_window_backing.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/keyboard_helper.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/keyboard_shortcuts_parser.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/mixin_features.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/paint_colors.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/spinner.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/tray_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/ui_client_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window_backing_base.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gui/window_border.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -359,8 +418,6 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/display%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/encodings%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/encodings%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/fileprint_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/fileprint_mixin%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/mmap%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/mmap%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/network_listener%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -373,10 +430,6 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/remote_logging%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/rpc%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/rpc%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/serverinfo_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/serverinfo_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/stub_client_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/stub_client_mixin%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/tray%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/webcam%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -387,27 +440,15 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/clipboard.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/display.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/encodings.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/fileprint_mixin.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/mmap.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/network_listener.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/network_state.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/notifications.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/remote_logging.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/rpc.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/serverinfo_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/client/mixins/stub_client_mixin.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/tray.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/webcam.py
%%PYTHON_SITELIBDIR%%/xpra/client/mixins/window_manager.py
-%%PYTHON_SITELIBDIR%%/xpra/client/paint_colors.py
-%%PYTHON_SITELIBDIR%%/xpra/client/rfb_protocol.py
-%%PYTHON_SITELIBDIR%%/xpra/client/scaling_parser.py
-%%PYTHON_SITELIBDIR%%/xpra/client/spinner.py
-%%PYTHON_SITELIBDIR%%/xpra/client/top_client.py
-%%PYTHON_SITELIBDIR%%/xpra/client/tray_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/ui_client_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/window_backing_base.py
-%%PYTHON_SITELIBDIR%%/xpra/client/window_border.py
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/clipboard/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -453,43 +494,56 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/colorspace_converter%%PYTHON_EXT_SUFFIX%%.so
-%%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_libyuv/__init__.py
-%%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_libyuv/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_libyuv/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_libyuv/colorspace_converter%%PYTHON_EXT_SUFFIX%%.so
-%%SWSCALE%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_swscale/__init__.py
-%%SWSCALE%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_swscale/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%SWSCALE%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_swscale/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%SWSCALE%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_swscale/colorspace_converter%%PYTHON_EXT_SUFFIX%%.so
-%%AVCODEC%%%%PYTHON_SITELIBDIR%%/xpra/codecs/dec_avcodec2/__init__.py
-%%AVCODEC%%%%PYTHON_SITELIBDIR%%/xpra/codecs/dec_avcodec2/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%AVCODEC%%%%PYTHON_SITELIBDIR%%/xpra/codecs/dec_avcodec2/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%AVCODEC%%%%PYTHON_SITELIBDIR%%/xpra/codecs/dec_avcodec2/decoder%%PYTHON_EXT_SUFFIX%%.so
-%%FFMPEG%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_ffmpeg/__init__.py
-%%FFMPEG%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_ffmpeg/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%FFMPEG%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_ffmpeg/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%FFMPEG%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_ffmpeg/encoder%%PYTHON_EXT_SUFFIX%%.so
-%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_proxy/__init__.py
-%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_proxy/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_proxy/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_proxy/__pycache__/encoder%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_proxy/__pycache__/encoder%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_proxy/encoder.py
-%%X264%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x264/__init__.py
-%%X264%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x264/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%X264%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x264/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%X264%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x264/encoder%%PYTHON_EXT_SUFFIX%%.so
-%%X265%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x265/__init__.py
-%%X265%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x265/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%X265%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x265/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%X265%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x265/encoder%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/codecs/drm/drm%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/codecs/ffmpeg/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/ffmpeg/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/ffmpeg/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/ffmpeg/av_log%%PYTHON_EXT_SUFFIX%%.so
+%%SWSCALE%%%%PYTHON_SITELIBDIR%%/xpra/codecs/ffmpeg/colorspace_converter%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/codecs/ffmpeg/decoder%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/codecs/ffmpeg/encoder%%PYTHON_EXT_SUFFIX%%.so
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__init__.py
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/capture%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/capture%%PYTHON_EXT_SUFFIX%%.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/codec_common%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/codec_common%%PYTHON_EXT_SUFFIX%%.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/decoder%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/decoder%%PYTHON_EXT_SUFFIX%%.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/encoder%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/__pycache__/encoder%%PYTHON_EXT_SUFFIX%%.pyc
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/capture.py
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/codec_common.py
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/decoder.py
+%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/codecs/gstreamer/encoder.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/icon_util.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/image_wrapper.py
-%%AVCODEC%%%%PYTHON_SITELIBDIR%%/xpra/codecs/libav_common/__init__.py
-%%AVCODEC%%%%PYTHON_SITELIBDIR%%/xpra/codecs/libav_common/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%AVCODEC%%%%PYTHON_SITELIBDIR%%/xpra/codecs/libav_common/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%AVCODEC%%%%PYTHON_SITELIBDIR%%/xpra/codecs/libav_common/av_log%%PYTHON_EXT_SUFFIX%%.so
+%%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/libyuv/__init__.py
+%%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/libyuv/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/libyuv/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/libyuv/colorspace_converter%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/codecs/loader.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/cuda_context%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/cuda_context%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/cuda_errors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/cuda_errors%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/cuda_image_wrapper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/cuda_image_wrapper%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/nv_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/__pycache__/nv_util%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/cuda_context.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/cuda_errors.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/cuda_image_wrapper.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/nvidia/nv_util.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/openh264/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/openh264/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/openh264/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/openh264/decoder%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/codecs/openh264/encoder%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/codecs/pillow/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/pillow/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/pillow/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -499,18 +553,23 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/codecs/pillow/__pycache__/encoder%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/pillow/decoder.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/pillow/encoder.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__pycache__/encoder%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/__pycache__/encoder%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/proxy/encoder.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/rgb_transform.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/video_helper.py
-%%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/__init__.py
-%%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/decoder%%PYTHON_EXT_SUFFIX%%.so
-%%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/encoder%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/decoder%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/encoder%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/codecs/x264/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/x264/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/x264/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/x264/encoder%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/colorstreamhandler.py
%%PYTHON_SITELIBDIR%%/xpra/common.py
%%PYTHON_SITELIBDIR%%/xpra/dbus/__init__.py
@@ -526,6 +585,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/dbus/helper.py
%%PYTHON_SITELIBDIR%%/xpra/dbus/notifications_forwarder.py
%%PYTHON_SITELIBDIR%%/xpra/exit_codes.py
+%%PYTHON_SITELIBDIR%%/xpra/gst_common.py
+%%PYTHON_SITELIBDIR%%/xpra/gst_pipeline.py
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -533,6 +594,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/about%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/auth_dialog%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/auth_dialog%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/css_overrides%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/css_overrides%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/cursor_names%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/cursor_names%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/desktop_greeter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -563,6 +626,7 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/start_gui%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/about.py
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/auth_dialog.py
+%%PYTHON_SITELIBDIR%%/xpra/gtk_common/css_overrides.py
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/cursor_names.py
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/desktop_greeter.py
%%PYTHON_SITELIBDIR%%/xpra/gtk_common/error.py
@@ -604,18 +668,10 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/compression%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/crypto%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/crypto%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/d3des%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/d3des%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/digest%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/digest%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/fake_jitter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/fake_jitter%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/file_transfer%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/file_transfer%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/header%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/header%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/http_handler%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/http_handler%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/libproxy%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/libproxy%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/mmap_pipe%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -624,20 +680,8 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/net_util%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/packet_encoding%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/packet_encoding%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/protocol%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/protocol%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/protocol_classes%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/protocol_classes%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/pycryptography_backend%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/pycryptography_backend%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/qrcode%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/qrcode%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/socket_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/socket_util%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/ssh%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/ssh%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/sshfp%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/sshfp%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/subprocess_wrapper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/subprocess_wrapper%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/upnp%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -645,10 +689,10 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/bencode/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/net/bencode/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/bencode/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/bencode/__pycache__/bencode%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/bencode/__pycache__/bencode%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/net/bencode/bencode.py
+%%PYTHON_SITELIBDIR%%/xpra/net/bencode/__pycache__/python_bencode%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/bencode/__pycache__/python_bencode%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/bencode/cython_bencode%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/net/bencode/python_bencode.py
%%PYTHON_SITELIBDIR%%/xpra/net/brotli/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/net/brotli/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/brotli/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -658,14 +702,22 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/common.py
%%PYTHON_SITELIBDIR%%/xpra/net/compression.py
%%PYTHON_SITELIBDIR%%/xpra/net/crypto.py
-%%PYTHON_SITELIBDIR%%/xpra/net/d3des.py
%%PYTHON_SITELIBDIR%%/xpra/net/digest.py
-%%PYTHON_SITELIBDIR%%/xpra/net/fake_jitter.py
%%PYTHON_SITELIBDIR%%/xpra/net/file_transfer.py
-%%PYTHON_SITELIBDIR%%/xpra/net/header.py
-%%PYTHON_SITELIBDIR%%/xpra/net/http_handler.py
+%%PYTHON_SITELIBDIR%%/xpra/net/http/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/http/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/http/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/http/__pycache__/directory_listing%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/http/__pycache__/directory_listing%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/http/__pycache__/http_handler%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/http/__pycache__/http_handler%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/http/directory_listing.py
+%%PYTHON_SITELIBDIR%%/xpra/net/http/http_handler.py
%%PYTHON_SITELIBDIR%%/xpra/net/libproxy.py
-%%PYTHON_SITELIBDIR%%/xpra/net/lz4%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/net/lz4/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/lz4/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/lz4/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/lz4/lz4%%PYTHON_EXT_SUFFIX%%.so
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__init__.py
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%AVAHI%%%%PYTHON_SITELIBDIR%%/xpra/net/mdns/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -684,26 +736,89 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/net/mmap_pipe.py
%%PYTHON_SITELIBDIR%%/xpra/net/net_util.py
%%PYTHON_SITELIBDIR%%/xpra/net/packet_encoding.py
-%%PYTHON_SITELIBDIR%%/xpra/net/protocol.py
-%%PYTHON_SITELIBDIR%%/xpra/net/protocol_classes.py
-%%PYTHON_SITELIBDIR%%/xpra/net/pycryptography_backend.py
-%%PYTHON_SITELIBDIR%%/xpra/net/qrcode.py
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/check%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/check%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/constants%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/constants%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/factory%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/factory%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/header%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/header%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/socket_handler%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/__pycache__/socket_handler%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/check.py
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/constants.py
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/factory.py
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/header.py
+%%PYTHON_SITELIBDIR%%/xpra/net/protocol/socket_handler.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/asyncio_thread%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/asyncio_thread%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/client%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/client%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/common%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/common%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/connection%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/connection%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/http%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/http%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/listener%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/listener%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/session_ticket_store%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/session_ticket_store%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/websocket%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/websocket%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/webtransport%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/__pycache__/webtransport%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/asyncio_thread.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/client.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/common.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/connection.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/http.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/listener.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/session_ticket_store.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/websocket.py
+%%PYTHON_SITELIBDIR%%/xpra/net/quic/webtransport.py
%%PYTHON_SITELIBDIR%%/xpra/net/rencodeplus/rencodeplus%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/d3des%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/d3des%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/rfb_const%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/rfb_const%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/rfb_encode%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/rfb_encode%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/rfb_protocol%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/__pycache__/rfb_protocol%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/rfb/d3des.py
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/rfb_const.py
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/rfb_encode.py
%%PYTHON_SITELIBDIR%%/xpra/net/rfb/rfb_protocol.py
%%PYTHON_SITELIBDIR%%/xpra/net/socket_util.py
-%%PYTHON_SITELIBDIR%%/xpra/net/ssh.py
-%%PYTHON_SITELIBDIR%%/xpra/net/sshfp.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/agent%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/agent%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/exec_client%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/exec_client%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/paramiko_client%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/paramiko_client%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/sshfp%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/sshfp%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/__pycache__/util%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/agent.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/exec_client.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/paramiko_client.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/sshfp.py
+%%PYTHON_SITELIBDIR%%/xpra/net/ssh/util.py
%%PYTHON_SITELIBDIR%%/xpra/net/subprocess_wrapper.py
%%PYTHON_SITELIBDIR%%/xpra/net/upnp.py
%%PYTHON_SITELIBDIR%%/xpra/net/websockets/__init__.py
@@ -804,56 +919,72 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/platform/menu_helper.py
%%PYTHON_SITELIBDIR%%/xpra/platform/netdev_query.py
%%PYTHON_SITELIBDIR%%/xpra/platform/paths.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/appindicator_tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/appindicator_tray%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/autostart%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/autostart%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/dotxpra%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/dotxpra%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/fd_portal%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/fd_portal%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/fd_portal_shadow%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/fd_portal_shadow%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/features%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/features%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/gl_context%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/gl_context%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/gui%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/gui%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/info%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/keyboard%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/keyboard%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/menu_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/menu_helper%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/paths%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/paths%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/printing%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/printing%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/proc%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/proc%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/remotedesktop%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/remotedesktop%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/screencast%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/screencast%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/shadow_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/shadow_server%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/webcam%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/__pycache__/webcam%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/appindicator_tray.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/autostart.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/dotxpra.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/fd_portal.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/fd_portal_shadow.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/features.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/gl_context.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/gui.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/info.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/keyboard.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/menu_helper.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/paths.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/printing.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/proc.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/remotedesktop.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/screencast.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/shadow_server.py
+%%PYTHON_SITELIBDIR%%/xpra/platform/posix/webcam.py
%%PYTHON_SITELIBDIR%%/xpra/platform/printing.py
%%PYTHON_SITELIBDIR%%/xpra/platform/proxy_server.py
%%PYTHON_SITELIBDIR%%/xpra/platform/pycups_printing.py
%%PYTHON_SITELIBDIR%%/xpra/platform/shadow_server.py
%%PYTHON_SITELIBDIR%%/xpra/platform/ui_thread_watcher.py
%%PYTHON_SITELIBDIR%%/xpra/platform/webcam.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__init__.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/appindicator_tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/appindicator_tray%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/autostart%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/autostart%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/dotxpra%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/dotxpra%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/features%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/features%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/gl_context%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/gl_context%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/gui%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/gui%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/info%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/keyboard%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/keyboard%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/menu_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/menu_helper%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/paths%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/paths%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/printing%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/printing%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/shadow_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/shadow_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/webcam%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/__pycache__/webcam%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/appindicator_tray.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/autostart.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/dotxpra.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/features.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/gl_context.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/gui.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/info.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/keyboard.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/menu_helper.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/paths.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/printing.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/shadow_server.py
-%%PYTHON_SITELIBDIR%%/xpra/platform/xposix/webcam.py
%%PYTHON_SITELIBDIR%%/xpra/queue_scheduler.py
%%PYTHON_SITELIBDIR%%/xpra/rectangle%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/scaling_parser.py
%%PYTHON_SITELIBDIR%%/xpra/scripts/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/scripts/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/scripts/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -1029,57 +1160,57 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/audio_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/audio_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/child_command_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/child_command_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/clipboard_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/clipboard_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/dbusrpc_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/dbusrpc_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/display_manager%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/display_manager%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/encoding_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/encoding_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/fileprint_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/fileprint_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/input_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/input_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/logging_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/logging_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/mmap_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/mmap_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/networkstate_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/networkstate_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/notification_forwarder%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/notification_forwarder%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/server_base_controlcommands%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/server_base_controlcommands%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/shell_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/shell_server%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/audio%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/audio%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/child_command%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/child_command%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/clipboard%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/clipboard%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/controlcommands%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/controlcommands%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/dbusrpc%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/dbusrpc%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/display%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/display%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/encoding%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/encoding%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/fileprint%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/fileprint%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/input%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/input%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/logging%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/logging%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/mmap%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/mmap%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/networkstate%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/networkstate%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/notification%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/notification%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/shell%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/shell%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/stub_server_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/stub_server_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/webcam_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/webcam_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/window_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/window_server%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/audio_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/child_command_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/clipboard_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/dbusrpc_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/display_manager.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/encoding_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/fileprint_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/input_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/logging_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/mmap_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/networkstate_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/notification_forwarder.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/server_base_controlcommands.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/shell_server.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/webcam%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/webcam%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/window%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/window%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/audio.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/child_command.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/clipboard.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/controlcommands.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/dbusrpc.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/display.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/encoding.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/fileprint.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/input.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/logging.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/mmap.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/networkstate.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/notification.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/shell.py
%%PYTHON_SITELIBDIR%%/xpra/server/mixins/stub_server_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/webcam_server.py
-%%PYTHON_SITELIBDIR%%/xpra/server/mixins/window_server.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/webcam.py
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/window.py
%%PYTHON_SITELIBDIR%%/xpra/server/proxy/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/server/proxy/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/proxy/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -1136,66 +1267,66 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/source/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/audio_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/audio_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/avsync_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/avsync_mixin%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/audio%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/audio%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/avsync%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/avsync%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/client_connection%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/client_connection%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/client_connection_factory%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/client_connection_factory%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clientdisplay_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clientdisplay_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clientinfo_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clientinfo_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clipboard_connection%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clipboard_connection%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/dbus_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/dbus_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/encodings_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/encodings_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/fileprint_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/fileprint_mixin%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clientinfo%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clientinfo%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clipboard%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/clipboard%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/dbus%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/dbus%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/display%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/display%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/encodings%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/encodings%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/fileprint%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/fileprint%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/idle_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/idle_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/input_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/input_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/mmap_connection%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/mmap_connection%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/networkstate_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/networkstate_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/notification_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/notification_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/shell_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/shell_mixin%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/input%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/input%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/mmap%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/mmap%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/networkstate%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/networkstate%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/notification%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/notification%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/shell%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/shell%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/source_stats%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/source_stats%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/stub_source_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/stub_source_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/webcam_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/webcam_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/windows_mixin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/windows_mixin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/server/source/audio_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/avsync_mixin.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/webcam%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/webcam%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/windows%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/windows%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/audio.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/avsync.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/client_connection.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/client_connection_factory.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/clientdisplay_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/clientinfo_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/clipboard_connection.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/dbus_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/encodings_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/fileprint_mixin.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/clientinfo.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/clipboard.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/dbus.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/display.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/encodings.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/fileprint.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/idle_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/input_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/mmap_connection.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/networkstate_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/notification_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/shell_mixin.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/input.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/mmap.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/networkstate.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/notification.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/shell.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/source_stats.py
%%PYTHON_SITELIBDIR%%/xpra/server/source/stub_source_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/webcam_mixin.py
-%%PYTHON_SITELIBDIR%%/xpra/server/source/windows_mixin.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/webcam.py
+%%PYTHON_SITELIBDIR%%/xpra/server/source/windows.py
%%PYTHON_SITELIBDIR%%/xpra/server/ssh.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -1235,42 +1366,7 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/server/window/window_video_source.py
%%PYTHON_SITELIBDIR%%/xpra/server/window/windowicon_source.py
%%PYTHON_SITELIBDIR%%/xpra/simple_stats.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__init__.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/common%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/common%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/gstreamer_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/gstreamer_util%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/sink%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/sink%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/sound_pipeline%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/sound_pipeline%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/src%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/src%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/wrapper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/__pycache__/wrapper%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/common.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/gstreamer_util.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__init__.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/pulseaudio_common_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/pulseaudio_common_util%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/pulseaudio_none_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/pulseaudio_none_util%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/pulseaudio_pactl_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/pulseaudio_pactl_util%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/pulseaudio_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/__pycache__/pulseaudio_util%%PYTHON_EXT_SUFFIX%%.pyc
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/pulseaudio_common_util.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/pulseaudio_none_util.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/pulseaudio_pactl_util.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/pulseaudio/pulseaudio_util.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/sink.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/sound_pipeline.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/src.py
-%%GSTREAMER%%%%PYTHON_SITELIBDIR%%/xpra/sound/wrapper.py
+%%PYTHON_SITELIBDIR%%/xpra/splash_screen.py
%%PYTHON_SITELIBDIR%%/xpra/src_info.py
%%PYTHON_SITELIBDIR%%/xpra/util.py
%%PYTHON_SITELIBDIR%%/xpra/version_util.py
@@ -1316,18 +1412,26 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/randr_info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/randr_info%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/core_bindings%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/send_wm%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/send_wm%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/xwayland_info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/__pycache__/xwayland_info%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/core%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/display_source%%PYTHON_EXT_SUFFIX%%.so
-%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/keyboard_bindings%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/events%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/keyboard%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/posix_display_source%%PYTHON_EXT_SUFFIX%%.so
-%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/randr_bindings%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/randr%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/randr_info.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/res_bindings%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/res%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/send_wm.py
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/wait_for_x_server%%PYTHON_EXT_SUFFIX%%.so
-%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/window_bindings%%PYTHON_EXT_SUFFIX%%.so
-%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xi2_bindings%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/window%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xi2%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/ximage%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xwait%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xwayland%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/xpra/x11/bindings/xwayland_info.py
%%PYTHON_SITELIBDIR%%/xpra/x11/common.py
%%PYTHON_SITELIBDIR%%/xpra/x11/dbus/__init__.py
%%PYTHON_SITELIBDIR%%/xpra/x11/dbus/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -1373,18 +1477,12 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/clipboard%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/composite%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/composite%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/gdk_bindings%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/gdk_bindings%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/gdk_display_source%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/gdk_display_source%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/keys%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/keys%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/prop%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/prop%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/selection%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/selection%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/send_wm%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/send_wm%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/tray%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/tray%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/window_damage%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -1397,12 +1495,9 @@ etc/dbus-1/system.d/xpra.conf
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/__pycache__/world_window%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/clipboard.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/composite.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/gdk_bindings.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/gdk_display_source.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/keys.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/prop.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/selection.py
-%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/send_wm.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/tray.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/window_damage.py
%%PYTHON_SITELIBDIR%%/xpra/x11/gtk_x11/wm.py
@@ -1460,12 +1555,19 @@ share/applications/xpra-gui.desktop
share/applications/xpra-launcher.desktop
share/applications/xpra-shadow.desktop
share/applications/xpra.desktop
+share/dbus-1/system.d/xpra.conf
%%PORTDOCS%%%%DOCSDIR%%/Build/Debian.html
%%PORTDOCS%%%%DOCSDIR%%/Build/Dependencies.html
%%PORTDOCS%%%%DOCSDIR%%/Build/MSWindows.html
%%PORTDOCS%%%%DOCSDIR%%/Build/MacOS.html
%%PORTDOCS%%%%DOCSDIR%%/Build/Other.html
%%PORTDOCS%%%%DOCSDIR%%/Build/RPM.html
+%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/all.png
+%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/codecs.png
+%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/gtk3.png
+%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/packaging-tools.png
+%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/python3.png
+%%PORTDOCS%%%%DOCSDIR%%/Build/graphs/tools.png
%%PORTDOCS%%%%DOCSDIR%%/Build/index.html
%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.html
%%PORTDOCS%%%%DOCSDIR%%/FAQ.html
@@ -1484,9 +1586,11 @@ share/applications/xpra.desktop
%%PORTDOCS%%%%DOCSDIR%%/Network/AES.html
%%PORTDOCS%%%%DOCSDIR%%/Network/Encryption.html
%%PORTDOCS%%%%DOCSDIR%%/Network/Multicast-DNS.html
+%%PORTDOCS%%%%DOCSDIR%%/Network/QUIC.html
%%PORTDOCS%%%%DOCSDIR%%/Network/SSH.html
%%PORTDOCS%%%%DOCSDIR%%/Network/SSL.html
%%PORTDOCS%%%%DOCSDIR%%/Network/index.html
+%%PORTDOCS%%%%DOCSDIR%%/SPONSORS.html
%%PORTDOCS%%%%DOCSDIR%%/Usage/Apache-Proxy.html
%%PORTDOCS%%%%DOCSDIR%%/Usage/Authentication.html
%%PORTDOCS%%%%DOCSDIR%%/Usage/Client-OpenGL.html
@@ -1520,6 +1624,7 @@ share/applications/xpra.desktop
%%PORTDOCS%%%%DOCSDIR%%/images/icons/osx.png
%%PORTDOCS%%%%DOCSDIR%%/images/icons/package.png
%%PORTDOCS%%%%DOCSDIR%%/images/icons/printer.png
+%%PORTDOCS%%%%DOCSDIR%%/images/icons/quic.png
%%PORTDOCS%%%%DOCSDIR%%/images/icons/rpm.png
%%PORTDOCS%%%%DOCSDIR%%/images/icons/server-connected.png
%%PORTDOCS%%%%DOCSDIR%%/images/icons/sound.png
@@ -1528,9 +1633,15 @@ share/applications/xpra.desktop
%%PORTDOCS%%%%DOCSDIR%%/images/icons/upload.png
%%PORTDOCS%%%%DOCSDIR%%/images/icons/webcam.png
%%PORTDOCS%%%%DOCSDIR%%/images/icons/windows.png
+%%PORTDOCS%%%%DOCSDIR%%/images/logos/atos-black.png
+%%PORTDOCS%%%%DOCSDIR%%/images/logos/vpo-small.png
%%PORTDOCS%%%%DOCSDIR%%/images/mdns-gui.png
%%PORTDOCS%%%%DOCSDIR%%/images/pavucontrol-client.png
%%PORTDOCS%%%%DOCSDIR%%/images/pavucontrol-server.png
+%%PORTDOCS%%%%DOCSDIR%%/images/screenshots/gnome-shell-notification.png
+%%PORTDOCS%%%%DOCSDIR%%/images/screenshots/osx-notification.png
+%%PORTDOCS%%%%DOCSDIR%%/images/screenshots/win32-notification.png
+%%PORTDOCS%%%%DOCSDIR%%/images/screenshots/win32-shadow-tray-menu.png
%%PORTDOCS%%%%DOCSDIR%%/images/session-info-graphs.png
%%PORTDOCS%%%%DOCSDIR%%/images/session-info-sound.png
%%PORTDOCS%%%%DOCSDIR%%/images/upload.png
@@ -1543,6 +1654,7 @@ share/pixmaps/xpra-shadow.png
share/pixmaps/xpra.png
%%DATADIR%%/COPYING
%%DATADIR%%/README.md
+%%DATADIR%%/autostart.desktop
%%DATADIR%%/bell.wav
%%DATADIR%%/css/10_header_bar.css
%%DATADIR%%/css/20_progress_bar.css