Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Mar 2021 14:59:34 +0000 (UTC)
From:      Gleb Popov <arrowd@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r568098 - in head/x11/xpra: . files
Message-ID:  <202103111459.12BExYAI008695@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arrowd
Date: Thu Mar 11 14:59:33 2021
New Revision: 568098
URL: https://svnweb.freebsd.org/changeset/ports/568098

Log:
  x11/xpra: Update to 4.1.1

Deleted:
  head/x11/xpra/files/patch-scripts_xpra
  head/x11/xpra/files/patch-scripts_xpra__launcher
Modified:
  head/x11/xpra/Makefile
  head/x11/xpra/distinfo
  head/x11/xpra/files/patch-setup.py
  head/x11/xpra/pkg-plist

Modified: head/x11/xpra/Makefile
==============================================================================
--- head/x11/xpra/Makefile	Thu Mar 11 14:58:50 2021	(r568097)
+++ head/x11/xpra/Makefile	Thu Mar 11 14:59:33 2021	(r568098)
@@ -1,7 +1,7 @@
 # $FreeBSD$
 
 PORTNAME=	xpra
-PORTVERSION=	4.0.6
+PORTVERSION=	4.1.1
 CATEGORIES=	x11
 MASTER_SITES=	http://xpra.org/src/
 
@@ -10,7 +10,8 @@ COMMENT=	Persistent remote applications for X
 
 LICENSE=	GPLv2
 
-BUILD_DEPENDS=	brotli:archivers/brotli
+BUILD_DEPENDS=	brotli:archivers/brotli \
+		pandoc:textproc/hs-pandoc
 LIB_DEPENDS=	libwebp.so:graphics/webp
 RUN_DEPENDS=	${PY_PILLOW} \
 		${PYTHON_PKGNAMEPREFIX}bencode.py>1:converters/py-bencode.py@${PY_FLAVOR} \
@@ -30,7 +31,7 @@ RUN_DEPENDS=	${PY_PILLOW} \
 		xkbcomp:x11/xkbcomp \
 		Xvfb:x11-servers/xorg-vfbserver
 
-USES=		desktop-file-utils fortran gettext-runtime gnome pkgconfig \
+USES=		desktop-file-utils gettext-runtime gnome pkgconfig \
 		python:3.6+ shared-mime-info shebangfix tar:xz xorg
 
 USE_GNOME=	cairo gdkpixbuf2 gtk30 pygobject3
@@ -39,17 +40,17 @@ USE_XORG=	x11 xcomposite xdamage xext xfixes xi xkbfil
 PLIST_SUB+=	PORTVERSION=${PORTVERSION} \
 		PYTHON_SUFFIX=${PYTHON_SUFFIX} \
 		PYTHON_VER=${PYTHON_VER}
-SHEBANG_FILES=	cups/xpraforwarder scripts/auth_dialog scripts/xdg-open \
-		scripts/xpra_udev_product_version scripts/gnome-open \
-		scripts/gvfs-open
+SHEBANG_FILES=	fs/lib/cups/xpraforwarder fs/bin/auth_dialog fs/bin/xdg-open \
+		fs/bin/xpra_udev_product_version fs/bin/gnome-open \
+		fs/bin/gvfs-open
 SHEBANG_LANG=	sh
 sh_OLD_CMD=	/usr/bin/sh
 sh_CMD=		/bin/sh
 MAKE_ENV=	XPRA_USE_PROCESS_POLLING=1
 
-OPTIONS_DEFINE=		AVAHI AVCODEC CUPS FFMPEG GSTREAMER HTML5 LIBYUV SWSCALE VPX \
+OPTIONS_DEFINE=		AVAHI AVCODEC CUPS FFMPEG GSTREAMER LIBYUV SWSCALE VPX \
 			WEBCAM X264 X265
-OPTIONS_DEFAULT=	AVAHI AVCODEC CUPS FFMPEG GSTREAMER HTML5 LIBYUV SWSCALE VPX \
+OPTIONS_DEFAULT=	AVAHI AVCODEC CUPS FFMPEG GSTREAMER LIBYUV SWSCALE VPX \
 			X264 X265
 OPTIONS_SUB=		yes
 
@@ -57,7 +58,6 @@ AVCODEC_DESC=	Enable avcodec2 (FFmpeg) decoder
 CUPS_DESC=	Enable CUPS for printer forwarding
 FFMPEG_DESC=	Enable FFmpeg encoder
 GSTREAMER_DESC=	Enable GStreamer for sound forwarding
-HTML5_DESC=	Install HTML5 client interface
 LIBYUV_DESC=	Enable libyuv CSC module (fastest)
 SWSCALE_DESC=	Enable swscale (FFmpeg) CSC module
 VPX_DESC=	Enable VP8 and VP9 codec
@@ -76,7 +76,6 @@ GSTREAMER_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}gstream
 				gstreamer1-plugins-pulse>1:audio/gstreamer1-plugins-pulse
 GSTREAMER_USE=			GSTREAMER1=flac,lame,mpg123,ogg,opus,vorbis,wavpack
 GSTREAMER_VARS=			XPRA_OPTIONS+=sound
-HTML5_VARS=			XPRA_OPTIONS+=html5
 LIBYUV_LIB_DEPENDS=		libyuv.so:graphics/libyuv
 LIBYUV_VARS=			XPRA_OPTIONS+=csc_libyuv
 SWSCALE_LIB_DEPENDS=		libswscale.so:multimedia/ffmpeg
@@ -92,9 +91,9 @@ 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 html5 \
+			dec_avcodec2 enc_ffmpeg enc_x264 enc_x265 \
 			mdns printing sound vpx webcam
-XPRA_OPTIONS_DISABLED=	minify netdev uinput Xdummy Xdummy_wrapper
+XPRA_OPTIONS_DISABLED=	netdev service uinput Xdummy Xdummy_wrapper
 
 .include <bsd.port.options.mk>
 
@@ -117,12 +116,10 @@ PYDISTUTILS_CONFIGUREARGS+=	${PYDISTUTILS_ARGS}
 PYDISTUTILS_INSTALLARGS+=	${PYDISTUTILS_ARGS}
 
 post-patch:
-	@${REINPLACE_CMD} -e 's|%%GCC_RUNTIME%%|${LOCALBASE}/lib/gcc${_GCC_VER}|' \
-	    ${WRKSRC}/scripts/xpra ${WRKSRC}/scripts/xpra_launcher
 	@${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|' \
 	    ${WRKSRC}/xpra/platform/pycups_printing.py
 	@${REINPLACE_CMD} -e 's|/usr/sbin|${LOCALBASE}/sbin|' \
-	    ${WRKSRC}/etc/xpra/conf.d/16_printing.conf.in
+	    ${WRKSRC}/fs/etc/xpra/conf.d/16_printing.conf.in
 
 post-install:
 	@${MV} ${STAGEDIR}${ETCDIR}/xorg.conf \

Modified: head/x11/xpra/distinfo
==============================================================================
--- head/x11/xpra/distinfo	Thu Mar 11 14:58:50 2021	(r568097)
+++ head/x11/xpra/distinfo	Thu Mar 11 14:59:33 2021	(r568098)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1613658976
-SHA256 (xpra-4.0.6.tar.xz) = 9c672f6d914661dda743be4b2f860dfb17166fb52c562037380aa972b4f089e8
-SIZE (xpra-4.0.6.tar.xz) = 2797752
+TIMESTAMP = 1615388217
+SHA256 (xpra-4.1.1.tar.xz) = 58dc9feefef5e149acad8bb8d3aef59b5f6b48d875265fba1f097f8d264d41db
+SIZE (xpra-4.1.1.tar.xz) = 2674236

Modified: head/x11/xpra/files/patch-setup.py
==============================================================================
--- head/x11/xpra/files/patch-setup.py	Thu Mar 11 14:58:50 2021	(r568097)
+++ head/x11/xpra/files/patch-setup.py	Thu Mar 11 14:59:33 2021	(r568098)
@@ -1,31 +1,20 @@
---- setup.py.orig	2020-03-13 16:51:18 UTC
+--- setup.py.orig	2021-03-07 14:32:43 UTC
 +++ setup.py
-@@ -1491,7 +1491,7 @@ else:
-         libexec = "libexec"
-     else:
-         libexec = "lib"
--    if LINUX:
-+    if LINUX or FREEBSD:
-         if scripts_ENABLED:
-             scripts += ["scripts/xpra_udev_product_version", "scripts/xpra_signal_listener"]
-         libexec_scripts = []
-@@ -1508,7 +1508,7 @@ else:
-         add_data_files("%s/man1" % man_path,  ["man/xpra.1", "man/xpra_launcher.1"])
-         add_data_files("share/applications",  glob.glob("xdg/*.desktop"))
-         add_data_files("share/mime/packages", ["xdg/application-x-xpraconfig.xml"])
--        add_data_files("share/icons",         ["xdg/xpra.png", "xdg/xpra-mdns.png", "xdg/xpra-shadow.png"])
-+        add_data_files("share/pixmaps",         ["xdg/xpra.png", "xdg/xpra-mdns.png", "xdg/xpra-shadow.png"])
-         add_data_files("share/metainfo",      ["xdg/xpra.appdata.xml"])
+@@ -1012,7 +1012,7 @@ if 'clean' in sys.argv or 'sdist' in sys.argv:
+     clean()
  
-     #here, we override build and install so we can
-@@ -1633,8 +1633,8 @@ else:
-         remove_packages("xpra.platform.win32", "xpra.platform.darwin")
-         if data_ENABLED:
-             #not supported by all distros, but doesn't hurt to install them anyway:
--            for x in ("tmpfiles.d", "sysusers.d"):
--                add_data_files("lib/%s" % x, ["%s/xpra.conf" % x])
-+#            for x in ("tmpfiles.d", "sysusers.d"):
-+#                add_data_files("lib/%s" % x, ["%s/xpra.conf" % x])
-             if uinput_ENABLED:
-                 add_data_files("lib/udev/rules.d/", ["udev/rules.d/71-xpra-virtual-pointer.rules"])
+ def add_build_info(*args):
+-    cmd = ["python3", "./fs/bin/add_build_info.py"]+list(args)
++    cmd = [sys.executable, "./fs/bin/add_build_info.py"]+list(args)
+     r = subprocess.Popen(cmd).wait(30)
+     assert r==0, "'%s' returned %s" % (" ".join(cmd), r)
  
+@@ -1531,7 +1531,7 @@ else:
+         add_data_files("%s/man1" % man_path,  man_pages)
+         add_data_files("share/applications",  glob.glob("fs/share/applications/*.desktop"))
+         add_data_files("share/mime/packages", ["fs/share/mime/packages/application-x-xpraconfig.xml"])
+-        add_data_files("share/icons",         glob.glob("fs/share/icons/*.png"))
++        add_data_files("share/pixmaps",         glob.glob("fs/share/icons/*.png"))
+         add_data_files("share/metainfo",      ["fs/share/metainfo/xpra.appdata.xml"])
+ 
+     #here, we override build and install so we can

Modified: head/x11/xpra/pkg-plist
==============================================================================
--- head/x11/xpra/pkg-plist	Thu Mar 11 14:58:50 2021	(r568097)
+++ head/x11/xpra/pkg-plist	Thu Mar 11 14:59:33 2021	(r568098)
@@ -1,3 +1,4 @@
+bin/run_scaled
 bin/xpra
 bin/xpra_launcher
 bin/xpra_signal_listener
@@ -22,6 +23,13 @@ libexec/xpra/xdg-open
 %%ETCDIR%%/conf.d/55_server_x11.conf
 %%ETCDIR%%/conf.d/60_server.conf
 %%ETCDIR%%/conf.d/65_proxy.conf
+%%ETCDIR%%/content-categories/10_default.conf
+%%ETCDIR%%/content-type/10_role.conf
+%%ETCDIR%%/content-type/30_title.conf
+%%ETCDIR%%/content-type/50_class.conf
+%%ETCDIR%%/content-type/70_commands.conf
+%%ETCDIR%%/http-headers/00_nocache.txt
+%%ETCDIR%%/http-headers/10_content_security_policy.txt
 @sample %%ETCDIR%%/xorg.conf.sample
 @sample %%ETCDIR%%/xpra.conf.sample
 %%PYTHON_SITELIBDIR%%/xpra-%%PORTVERSION%%-py%%PYTHON_VER%%.egg-info/PKG-INFO
@@ -60,6 +68,7 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/buffers/__init__.py
 %%PYTHON_SITELIBDIR%%/xpra/buffers/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/buffers/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/buffers/cyxor%%PYTHON_EXT_SUFFIX%%.so
 %%PYTHON_SITELIBDIR%%/xpra/buffers/membuf%%PYTHON_EXT_SUFFIX%%.so
 %%PYTHON_SITELIBDIR%%/xpra/build_info.py
 %%PYTHON_SITELIBDIR%%/xpra/child_reaper.py
@@ -80,6 +89,8 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/gobject_client_base.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/keyboard_helper.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/keyboard_helper.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/keyboard_shortcuts_parser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/keyboard_shortcuts_parser.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/mixin_features.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/mixin_features.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/__pycache__/paint_colors.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -174,15 +185,27 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk3_client_window.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk3_notifier.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/gtk3_notifier.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/qrcode_client.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/qrcode_client.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/show_shortcuts.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/show_shortcuts.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/splash_screen.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/splash_screen.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/tray_menu.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/tray_menu.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_menu.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/__pycache__/window_menu.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk3/cairo_backing.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_window.py
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk3/gtk3_client_window.py
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk3/gtk3_notifier.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/qrcode_client.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/show_shortcuts.py
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk3/splash_screen.py
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk3/tray_menu.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__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
@@ -190,12 +213,12 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/bug_report.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/cairo_backing_base.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/cairo_backing_base.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/cairo_paint_common.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/cairo_paint_common.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/client_launcher.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/client_launcher.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/confirm_dialog.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/confirm_dialog.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/css_overrides.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/css_overrides.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_client_base.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_client_base.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_client_window_base.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -206,6 +229,8 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_spinner.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_tray_menu_base.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/gtk_tray_menu_base.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/menu_helper.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/menu_helper.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/mdns_gui.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/mdns_gui.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/open_requests.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -228,11 +253,13 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/u2f_tool.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/update_status.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/update_status.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/window_info.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/__pycache__/window_info.cpython-%%PYTHON_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/cairo_paint_common.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__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
@@ -252,8 +279,6 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/file_chooser.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/fontrendering.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/fontrendering.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/gl_colors_gradient.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/gl_colors_gradient.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/grabs.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/grabs.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/header_bar.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -270,6 +295,8 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/tray.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_focus.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_focus.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_geometry_hints.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_geometry_hints.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_opacity.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_opacity.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/client/gtk_base/example/__pycache__/window_overrideredirect.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -288,7 +315,6 @@ libexec/xpra/xdg-open
 %%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/gl_colors_gradient.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
@@ -297,6 +323,7 @@ libexec/xpra/xdg-open
 %%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
@@ -308,6 +335,7 @@ libexec/xpra/xdg-open
 %%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
@@ -318,7 +346,9 @@ libexec/xpra/xdg-open
 %%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/mixins/__init__.py
 %%PYTHON_SITELIBDIR%%/xpra/client/mixins/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -409,6 +439,10 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/codecs/argb/argb%%PYTHON_EXT_SUFFIX%%.so
 %%PYTHON_SITELIBDIR%%/xpra/codecs/codec_checks.py
 %%PYTHON_SITELIBDIR%%/xpra/codecs/codec_constants.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/__pycache__/__init__.cpython-%%PYTHON_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__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_libyuv/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
@@ -461,10 +495,6 @@ libexec/xpra/xdg-open
 %%WEBCAM%%%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
 %%WEBCAM%%%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/decoder%%PYTHON_EXT_SUFFIX%%.so
 %%WEBCAM%%%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/encoder%%PYTHON_EXT_SUFFIX%%.so
-%%PYTHON_SITELIBDIR%%/xpra/codecs/xor/__init__.py
-%%PYTHON_SITELIBDIR%%/xpra/codecs/xor/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/xor/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/codecs/xor/cyxor%%PYTHON_EXT_SUFFIX%%.so
 %%PYTHON_SITELIBDIR%%/xpra/colorstreamhandler.py
 %%PYTHON_SITELIBDIR%%/xpra/common.py
 %%PYTHON_SITELIBDIR%%/xpra/dbus/__init__.py
@@ -511,8 +541,6 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/gui.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/keymap.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/keymap.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/quit.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/xpra/gtk_common/__pycache__/quit.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/about.py
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/auth_dialog.py
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/cursor_names.py
@@ -529,7 +557,6 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/gtk_view_keyboard.py
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/gui.py
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/keymap.py
-%%PYTHON_SITELIBDIR%%/xpra/gtk_common/quit.py
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/gtk3/__init__.py
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/gtk3/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/gtk_common/gtk3/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
@@ -578,6 +605,8 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/protocol_classes.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/pycryptography_backend.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/pycryptography_backend.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/qrcode.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/qrcode.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/socket_util.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/socket_util.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/ssh.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -588,6 +617,8 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/subprocess_wrapper.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/udp_protocol.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/udp_protocol.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/upnp.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/__pycache__/upnp.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/bencode/__init__.py
 %%PYTHON_SITELIBDIR%%/xpra/net/bencode/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/bencode/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
@@ -625,11 +656,13 @@ libexec/xpra/xdg-open
 %%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/socket_util.py
 %%PYTHON_SITELIBDIR%%/xpra/net/ssh.py
 %%PYTHON_SITELIBDIR%%/xpra/net/sshfp.py
 %%PYTHON_SITELIBDIR%%/xpra/net/subprocess_wrapper.py
 %%PYTHON_SITELIBDIR%%/xpra/net/udp_protocol.py
+%%PYTHON_SITELIBDIR%%/xpra/net/upnp.py
 %%PYTHON_SITELIBDIR%%/xpra/net/websockets/__init__.py
 %%PYTHON_SITELIBDIR%%/xpra/net/websockets/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/net/websockets/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
@@ -644,6 +677,18 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/net/websockets/common.py
 %%PYTHON_SITELIBDIR%%/xpra/net/websockets/handler.py
 %%PYTHON_SITELIBDIR%%/xpra/net/websockets/header.py
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/__init__.py
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/__pycache__/browser_cookie.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/__pycache__/browser_cookie.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/__pycache__/default.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/__pycache__/default.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/__pycache__/env_cookie.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/__pycache__/env_cookie.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/browser_cookie.py
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/default.py
+%%PYTHON_SITELIBDIR%%/xpra/net/websockets/headers/env_cookie.py
 %%PYTHON_SITELIBDIR%%/xpra/net/websockets/protocol.py
 %%PYTHON_SITELIBDIR%%/xpra/notifications/__init__.py
 %%PYTHON_SITELIBDIR%%/xpra/notifications/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -818,6 +863,8 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/allow_auth.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/allow_auth.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/auth_helper.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/auth_helper.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/env_auth.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/env_auth.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/exec_auth.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -867,6 +914,7 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/win32_auth.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/__pycache__/win32_auth.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/allow_auth.py
+%%PYTHON_SITELIBDIR%%/xpra/server/auth/auth_helper.py
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/env_auth.py
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/exec_auth.py
 %%PYTHON_SITELIBDIR%%/xpra/server/auth/fail_auth.py
@@ -944,6 +992,8 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/notification_forwarder.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/server_base_controlcommands.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/server_base_controlcommands.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/shell_server.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/shell_server.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/stub_server_mixin.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/stub_server_mixin.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/mixins/__pycache__/webcam_server.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -963,6 +1013,7 @@ libexec/xpra/xdg-open
 %%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/stub_server_mixin.py
 %%PYTHON_SITELIBDIR%%/xpra/server/mixins/webcam_server.py
 %%PYTHON_SITELIBDIR%%/xpra/server/mixins/window_server.py
@@ -1054,6 +1105,10 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/mmap_connection.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/networkstate_mixin.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/networkstate_mixin.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/notification_mixin.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/notification_mixin.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/shell_mixin.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/shell_mixin.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/source_stats.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/source_stats.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON_SITELIBDIR%%/xpra/server/source/__pycache__/stub_source_mixin.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -1076,6 +1131,8 @@ libexec/xpra/xdg-open
 %%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/source_stats.py
 %%PYTHON_SITELIBDIR%%/xpra/server/source/stub_source_mixin.py
 %%PYTHON_SITELIBDIR%%/xpra/server/source/webcam_mixin.py
@@ -1305,6 +1362,7 @@ libexec/xpra/xdg-open
 %%PYTHON_SITELIBDIR%%/xpra/x11/xsettings.py
 %%PYTHON_SITELIBDIR%%/xpra/x11/xsettings_prop.py
 %%CUPS%%libexec/cups/backend/xpraforwarder
+man/man1/run_scaled.1.gz
 man/man1/xpra.1.gz
 man/man1/xpra_launcher.1.gz
 share/applications/xpra-gui.desktop
@@ -1317,15 +1375,11 @@ share/pixmaps/xpra-mdns.png
 share/pixmaps/xpra-shadow.png
 share/pixmaps/xpra.png
 %%DATADIR%%/COPYING
-%%DATADIR%%/README
+%%DATADIR%%/README.md
 %%DATADIR%%/bell.wav
-%%DATADIR%%/content-categories/10_default.conf
-%%DATADIR%%/content-type/10_role.conf
-%%DATADIR%%/content-type/30_title.conf
-%%DATADIR%%/content-type/50_class.conf
-%%DATADIR%%/content-type/70_commands.conf
-%%DATADIR%%/http-headers/00_nocache.txt
-%%DATADIR%%/http-headers/10_content_security_policy.txt
+%%DATADIR%%/css/10_header_bar.css
+%%DATADIR%%/css/20_progress_bar.css
+%%DATADIR%%/cuda/README.md
 %%DATADIR%%/icons/audio.png
 %%DATADIR%%/icons/authentication.png
 %%DATADIR%%/icons/bandwidth_limit.png
@@ -1339,9 +1393,11 @@ share/pixmaps/xpra.png
 %%DATADIR%%/icons/connect.png
 %%DATADIR%%/icons/disconnected.png
 %%DATADIR%%/icons/download.png
+%%DATADIR%%/icons/empty.png
 %%DATADIR%%/icons/encoding.png
 %%DATADIR%%/icons/features.png
 %%DATADIR%%/icons/fluxbox.png
+%%DATADIR%%/icons/font.png
 %%DATADIR%%/icons/forward.png
 %%DATADIR%%/icons/freebsd.png
 %%DATADIR%%/icons/gnome-session.png
@@ -1354,6 +1410,7 @@ share/pixmaps/xpra.png
 %%DATADIR%%/icons/lxde.png
 %%DATADIR%%/icons/macos.png
 %%DATADIR%%/icons/matchbox.png
+%%DATADIR%%/icons/maximize.png
 %%DATADIR%%/icons/mdns.png
 %%DATADIR%%/icons/microphone.png
 %%DATADIR%%/icons/minimize.png
@@ -1363,7 +1420,9 @@ share/pixmaps/xpra.png
 %%DATADIR%%/icons/opengl.png
 %%DATADIR%%/icons/package.png
 %%DATADIR%%/icons/picture.png
+%%DATADIR%%/icons/pointer.png
 %%DATADIR%%/icons/printer.png
+%%DATADIR%%/icons/qr.png
 %%DATADIR%%/icons/quit.png
 %%DATADIR%%/icons/raise.png
 %%DATADIR%%/icons/reinitialize.png
@@ -1382,11 +1441,13 @@ share/pixmaps/xpra.png
 %%DATADIR%%/icons/sqlite.png
 %%DATADIR%%/icons/start.png
 %%DATADIR%%/icons/statistics.png
+%%DATADIR%%/icons/ticked.png
 %%DATADIR%%/icons/ticked-small.png
 %%DATADIR%%/icons/timer.png
 %%DATADIR%%/icons/toolbox.png
 %%DATADIR%%/icons/transfer.png
 %%DATADIR%%/icons/transparent.png
+%%DATADIR%%/icons/unticked.png
 %%DATADIR%%/icons/unticked-small.png
 %%DATADIR%%/icons/update.png
 %%DATADIR%%/icons/upload.png
@@ -1403,169 +1464,3 @@ share/pixmaps/xpra.png
 %%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
 %%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/decoder%%PYTHON_EXT_SUFFIX%%.so
 %%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/encoder%%PYTHON_EXT_SUFFIX%%.so
-%%HTML5%%%%DATADIR%%/www/LICENSE
-%%HTML5%%%%DATADIR%%/www/LICENSE.br
-%%HTML5%%%%DATADIR%%/www/LICENSE.gz
-%%HTML5%%%%DATADIR%%/www/connect.html
-%%HTML5%%%%DATADIR%%/www/connect.html.br
-%%HTML5%%%%DATADIR%%/www/connect.html.gz
-%%HTML5%%%%DATADIR%%/www/css/bootstrap.css
-%%HTML5%%%%DATADIR%%/www/css/bootstrap.css.br
-%%HTML5%%%%DATADIR%%/www/css/bootstrap.css.gz
-%%HTML5%%%%DATADIR%%/www/css/bootstrap.css.map
-%%HTML5%%%%DATADIR%%/www/css/bootstrap.css.map.br
-%%HTML5%%%%DATADIR%%/www/css/bootstrap.css.map.gz
-%%HTML5%%%%DATADIR%%/www/css/client.css
-%%HTML5%%%%DATADIR%%/www/css/client.css.br
-%%HTML5%%%%DATADIR%%/www/css/client.css.gz
-%%HTML5%%%%DATADIR%%/www/css/icon.css
-%%HTML5%%%%DATADIR%%/www/css/icon.css.br
-%%HTML5%%%%DATADIR%%/www/css/icon.css.gz
-%%HTML5%%%%DATADIR%%/www/css/menu-skin.css
-%%HTML5%%%%DATADIR%%/www/css/menu-skin.css.br
-%%HTML5%%%%DATADIR%%/www/css/menu-skin.css.gz
-%%HTML5%%%%DATADIR%%/www/css/menu.css
-%%HTML5%%%%DATADIR%%/www/css/menu.css.br
-%%HTML5%%%%DATADIR%%/www/css/menu.css.gz
-%%HTML5%%%%DATADIR%%/www/css/signin.css
-%%HTML5%%%%DATADIR%%/www/css/signin.css.br
-%%HTML5%%%%DATADIR%%/www/css/signin.css.gz
-%%HTML5%%%%DATADIR%%/www/css/spinner.css
-%%HTML5%%%%DATADIR%%/www/css/spinner.css.br
-%%HTML5%%%%DATADIR%%/www/css/spinner.css.gz
-%%HTML5%%%%DATADIR%%/www/default-settings.txt
-%%HTML5%%%%DATADIR%%/www/default-settings.txt.br
-%%HTML5%%%%DATADIR%%/www/default-settings.txt.gz
-%%HTML5%%%%DATADIR%%/www/favicon.ico
-%%HTML5%%%%DATADIR%%/www/favicon.ico.br
-%%HTML5%%%%DATADIR%%/www/favicon.ico.gz
-%%HTML5%%%%DATADIR%%/www/favicon.png
-%%HTML5%%%%DATADIR%%/www/icons/close.png
-%%HTML5%%%%DATADIR%%/www/icons/default_cursor.png
-%%HTML5%%%%DATADIR%%/www/icons/empty.png
-%%HTML5%%%%DATADIR%%/www/icons/fullscreen.png
-%%HTML5%%%%DATADIR%%/www/icons/materialicons-regular.ttf
-%%HTML5%%%%DATADIR%%/www/icons/materialicons-regular.ttf.br
-%%HTML5%%%%DATADIR%%/www/icons/materialicons-regular.ttf.gz
-%%HTML5%%%%DATADIR%%/www/icons/materialicons-regular.woff
-%%HTML5%%%%DATADIR%%/www/icons/materialicons-regular.woff.br
-%%HTML5%%%%DATADIR%%/www/icons/materialicons-regular.woff.gz
-%%HTML5%%%%DATADIR%%/www/icons/materialicons-regular.woff2
-%%HTML5%%%%DATADIR%%/www/icons/materialicons-regular.woff2.br
-%%HTML5%%%%DATADIR%%/www/icons/materialicons-regular.woff2.gz
-%%HTML5%%%%DATADIR%%/www/icons/maximize.png
-%%HTML5%%%%DATADIR%%/www/icons/minimize.png
-%%HTML5%%%%DATADIR%%/www/icons/noicon.png
-%%HTML5%%%%DATADIR%%/www/icons/speaker-buffering.png
-%%HTML5%%%%DATADIR%%/www/icons/speaker-off.png
-%%HTML5%%%%DATADIR%%/www/icons/speaker.png
-%%HTML5%%%%DATADIR%%/www/icons/unfullscreen.png
-%%HTML5%%%%DATADIR%%/www/icons/xpra-logo.png
-%%HTML5%%%%DATADIR%%/www/index.html
-%%HTML5%%%%DATADIR%%/www/index.html.gz
-%%HTML5%%%%DATADIR%%/www/index.html.br
-%%HTML5%%%%DATADIR%%/www/js/Client.js
-%%HTML5%%%%DATADIR%%/www/js/Client.js.br
-%%HTML5%%%%DATADIR%%/www/js/Client.js.gz
-%%HTML5%%%%DATADIR%%/www/js/Keycodes.js
-%%HTML5%%%%DATADIR%%/www/js/Keycodes.js.br
-%%HTML5%%%%DATADIR%%/www/js/Keycodes.js.gz
-%%HTML5%%%%DATADIR%%/www/js/MediaSourceUtil.js
-%%HTML5%%%%DATADIR%%/www/js/MediaSourceUtil.js.br
-%%HTML5%%%%DATADIR%%/www/js/MediaSourceUtil.js.gz
-%%HTML5%%%%DATADIR%%/www/js/Menu-custom.js
-%%HTML5%%%%DATADIR%%/www/js/Menu-custom.js.br
-%%HTML5%%%%DATADIR%%/www/js/Menu-custom.js.gz
-%%HTML5%%%%DATADIR%%/www/js/Menu.js
-%%HTML5%%%%DATADIR%%/www/js/Menu.js.br
-%%HTML5%%%%DATADIR%%/www/js/Menu.js.gz
-%%HTML5%%%%DATADIR%%/www/js/Notifications.js
-%%HTML5%%%%DATADIR%%/www/js/Notifications.js.br
-%%HTML5%%%%DATADIR%%/www/js/Notifications.js.gz
-%%HTML5%%%%DATADIR%%/www/js/Protocol.js
-%%HTML5%%%%DATADIR%%/www/js/Protocol.js.br
-%%HTML5%%%%DATADIR%%/www/js/Protocol.js.gz
-%%HTML5%%%%DATADIR%%/www/js/Utilities.js
-%%HTML5%%%%DATADIR%%/www/js/Utilities.js.br
-%%HTML5%%%%DATADIR%%/www/js/Utilities.js.gz
-%%HTML5%%%%DATADIR%%/www/js/Window.js
-%%HTML5%%%%DATADIR%%/www/js/Window.js.br
-%%HTML5%%%%DATADIR%%/www/js/Window.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/AudioContextMonkeyPatch.js
-%%HTML5%%%%DATADIR%%/www/js/lib/AudioContextMonkeyPatch.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/AudioContextMonkeyPatch.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/FileSaver.js
-%%HTML5%%%%DATADIR%%/www/js/lib/FileSaver.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/FileSaver.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aac.js
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aac.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aac.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aac.js.map
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aac.js.map.br
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aac.js.map.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aurora-xpra.js
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aurora-xpra.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aurora-xpra.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aurora.js
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aurora.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/aurora.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/flac.js
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/flac.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/flac.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/flac.js.map
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/flac.js.map.br
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/flac.js.map.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/mp3.js
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/mp3.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/mp3.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/mp3.js.map
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/mp3.js.map.br
-%%HTML5%%%%DATADIR%%/www/js/lib/aurora/mp3.js.map.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/bencode.js
-%%HTML5%%%%DATADIR%%/www/js/lib/bencode.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/bencode.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/broadway/AUTHORS
-%%HTML5%%%%DATADIR%%/www/js/lib/broadway/AUTHORS.br
-%%HTML5%%%%DATADIR%%/www/js/lib/broadway/AUTHORS.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/broadway/Decoder.js
-%%HTML5%%%%DATADIR%%/www/js/lib/broadway/Decoder.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/broadway/Decoder.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/broadway/LICENSE
-%%HTML5%%%%DATADIR%%/www/js/lib/broadway/LICENSE.br
-%%HTML5%%%%DATADIR%%/www/js/lib/broadway/LICENSE.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/brotli_decode.js
-%%HTML5%%%%DATADIR%%/www/js/lib/brotli_decode.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/brotli_decode.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/es6-shim.js
-%%HTML5%%%%DATADIR%%/www/js/lib/es6-shim.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/es6-shim.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/forge.js
-%%HTML5%%%%DATADIR%%/www/js/lib/forge.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/forge.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/jquery-ui.js
-%%HTML5%%%%DATADIR%%/www/js/lib/jquery-ui.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/jquery-ui.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/jquery.ba-throttle-debounce.js
-%%HTML5%%%%DATADIR%%/www/js/lib/jquery.ba-throttle-debounce.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/jquery.ba-throttle-debounce.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/jquery.js
-%%HTML5%%%%DATADIR%%/www/js/lib/jquery.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/jquery.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/jsmpeg.js
-%%HTML5%%%%DATADIR%%/www/js/lib/jsmpeg.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/jsmpeg.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/jszip.js
-%%HTML5%%%%DATADIR%%/www/js/lib/jszip.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/jszip.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/lz4.js
-%%HTML5%%%%DATADIR%%/www/js/lib/lz4.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/lz4.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/wsworker_check.js
-%%HTML5%%%%DATADIR%%/www/js/lib/wsworker_check.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/wsworker_check.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/zlib.js
-%%HTML5%%%%DATADIR%%/www/js/lib/zlib.js.br
-%%HTML5%%%%DATADIR%%/www/js/lib/zlib.js.gz
-%%HTML5%%%%DATADIR%%/www/js/lib/zlib.pretty.js.map
-%%HTML5%%%%DATADIR%%/www/js/lib/zlib.pretty.js.map.br
-%%HTML5%%%%DATADIR%%/www/js/lib/zlib.pretty.js.map.gz



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202103111459.12BExYAI008695>