├── .git-blame-ignore-revs ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── dependabot.yml └── workflows │ ├── build.yml │ └── test.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COPYING ├── MANIFEST.in ├── README.md ├── debian ├── docs ├── Build │ ├── Debian.md │ ├── Dependencies.md │ ├── MSWindows.md │ ├── MacOS.md │ ├── Other.md │ ├── Packaging.md │ ├── README.md │ ├── RPM.md │ └── graphs │ │ ├── all.png │ │ ├── codecs.png │ │ ├── gtk3.png │ │ ├── packaging-tools.png │ │ ├── python3.png │ │ └── tools.png ├── CHANGELOG.md ├── FAQ.md ├── Features │ ├── Audio.md │ ├── Clipboard.md │ ├── DPI.md │ ├── Display.md │ ├── File-Transfers.md │ ├── Image-Depth.md │ ├── Keyboard-Shortcut-Window.png │ ├── Keyboard.md │ ├── Notifications.md │ ├── Printing.md │ ├── README.md │ ├── System-Tray.md │ └── Webcam.md ├── Network │ ├── AES.md │ ├── Encryption.md │ ├── Multicast-DNS.md │ ├── Protocol.md │ ├── QUIC.md │ ├── README.md │ ├── SSH.md │ └── SSL.md ├── README.md ├── SECURITY.md ├── SPONSORS.md ├── Subsystems │ ├── Audio.md │ ├── Bandwidth.md │ ├── Clipboard.md │ ├── Command.md │ ├── Cursor.md │ ├── Display.md │ ├── Encoding.md │ ├── Keyboard.md │ ├── Logging.md │ ├── MMAP.md │ ├── Notification.md │ ├── Ping.md │ ├── Pointer.md │ ├── README.md │ ├── SSH_Agent.md │ ├── Webcam.md │ └── Window.md ├── Usage │ ├── Apache-Proxy.md │ ├── Authentication.md │ ├── Client-OpenGL.md │ ├── Client.md │ ├── Configuration.md │ ├── Desktop.md │ ├── Encodings.md │ ├── Logging.md │ ├── NVENC.md │ ├── Nginx-Proxy.md │ ├── OpenGL.md │ ├── Proxy-Server.md │ ├── README.md │ ├── Seamless.md │ ├── Security.md │ ├── Service.md │ ├── Shadow.md │ ├── WSL.md │ ├── Windows-Service.md │ └── Xdummy.md └── images │ ├── Xpra-Proxy.png │ ├── icons │ ├── X11.png │ ├── authentication.png │ ├── clipboard.png │ ├── connect.png │ ├── debian.png │ ├── encoding.png │ ├── freebsd.png │ ├── keyboard.png │ ├── mdns.png │ ├── nvidia.png │ ├── opengl.png │ ├── osx.png │ ├── package.png │ ├── printer.png │ ├── quic.png │ ├── rpm.png │ ├── server-connected.png │ ├── sound.png │ ├── ssh.png │ ├── ubuntu.png │ ├── upload.png │ ├── webcam.png │ └── windows.png │ ├── logos │ ├── atos-black.png │ ├── corning.png │ └── vpo-small.png │ ├── mdns-gui.png │ ├── pavucontrol-client.png │ ├── pavucontrol-server.png │ ├── screenshots │ ├── gnome-shell-notification.png │ ├── osx-notification.png │ ├── win11-glxspheres.png │ ├── win32-notification.png │ └── win32-shadow-tray-menu.png │ ├── session-info-graphs.png │ ├── session-info-sound.png │ ├── upload.png │ └── win32-shadow-tray-menu.png ├── fs ├── README.md ├── bin │ ├── add_build_info.py │ ├── build_cuda_kernels.py │ ├── links-to-html.lua │ ├── run_scaled │ ├── set_source_version │ ├── xdummy_cvt_gen.py │ ├── xpra │ ├── xpra_Xdummy │ └── xpra_launcher ├── etc │ ├── README.md │ ├── X11 │ │ └── xorg.conf.d │ │ │ └── 90-xpra-virtual.conf │ ├── dbus-1 │ │ └── system.d │ │ │ └── xpra.conf │ ├── default │ ├── init.d │ │ └── xpra │ ├── pam.d │ │ └── xpra │ ├── sysconfig │ │ └── xpra │ └── xpra │ │ ├── conf.d │ │ ├── 05_features.conf.in │ │ ├── 10_network.conf.in │ │ ├── 12_ssl.conf.in │ │ ├── 15_file_transfers.conf.in │ │ ├── 16_printing.conf.in │ │ ├── 20_audio.conf.in │ │ ├── 30_picture.conf.in │ │ ├── 35_webcam.conf.in │ │ ├── 40_client.conf.in │ │ ├── 42_client_keyboard.conf.in │ │ ├── 45_osx.conf.in │ │ ├── 50_server_network.conf.in │ │ ├── 55_server_x11.conf.in │ │ ├── 60_server.conf.in │ │ └── 65_proxy.conf.in │ │ ├── content-categories │ │ └── 10_default.conf │ │ ├── content-parent │ │ └── 10_default.conf │ │ ├── content-type │ │ ├── 10_role.conf │ │ ├── 30_title.conf │ │ ├── 50_class.conf │ │ ├── 70_commands.conf │ │ └── 90_fallback.conf │ │ ├── cuda.conf │ │ ├── http-headers │ │ ├── 00_nocache.txt │ │ └── 10_content_security_policy.txt │ │ ├── nvenc.keys │ │ ├── nvfbc.keys │ │ ├── xorg-uinput.conf │ │ ├── xorg.conf │ │ └── xpra.conf ├── lib │ ├── README.md │ ├── cups │ │ └── backend │ │ │ └── xpraforwarder │ ├── pkgconfig │ │ ├── README.md │ │ ├── cuda.pc │ │ ├── nvdec.pc │ │ ├── nvenc.pc │ │ ├── nvfbc.pc │ │ └── nvjpeg.pc │ ├── systemd │ │ └── system │ │ │ ├── xpra-encoder.service │ │ │ ├── xpra-encoder.socket │ │ │ ├── xpra-nosocketactivation.service │ │ │ ├── xpra.service │ │ │ └── xpra.socket │ ├── sysusers.d │ │ └── xpra.conf │ ├── tmpfiles.d │ │ └── xpra.conf │ └── udev │ │ └── rules.d │ │ └── 71-xpra-virtual-pointer.rules ├── libexec │ └── xpra │ │ ├── auth_dialog │ │ ├── gnome-open │ │ ├── gvfs-open │ │ ├── xdg-open │ │ ├── xpra_signal_listener │ │ ├── xpra_udev_product_version │ │ └── xpra_weston_xvfb └── share │ ├── applications │ ├── xpra-gui.desktop │ ├── xpra-launcher.desktop │ ├── xpra-shadow.desktop │ └── xpra.desktop │ ├── config │ └── mypy │ │ └── config │ ├── doc │ └── xpra │ ├── gnome-shell │ └── extensions │ │ └── input-source-manager@xpra_org │ │ ├── README.md │ │ ├── extension.js │ │ └── metadata.json │ ├── icons │ ├── xpra-mdns.png │ ├── xpra-shadow.png │ ├── xpra.icns │ └── xpra.png │ ├── man │ └── man1 │ │ ├── run_scaled.1 │ │ ├── xpra.1 │ │ └── xpra_launcher.1 │ ├── metainfo │ └── xpra.appdata.xml │ ├── mime │ └── packages │ │ └── application-x-xpraconfig.xml │ ├── selinux │ ├── cups_xpra │ │ ├── README.TXT │ │ ├── cups_xpra.fc │ │ └── cups_xpra.te │ └── xpra_socketactivation │ │ ├── README.TXT │ │ ├── xpra_socketactivation.fc │ │ └── xpra_socketactivation.te │ └── xpra │ ├── autostart.desktop │ ├── bell.wav │ ├── css │ ├── 10_header_bar.css │ └── 20_progress_bar.css │ ├── cuda │ ├── BGRA_to_RGBAP.cu │ ├── BGRX_to_NV12.cu │ ├── BGRX_to_RGB.cu │ ├── BGRX_to_YUV444.cu │ ├── README.md │ ├── RGBA_to_RGBAP.cu │ ├── RGBX_to_RGB.cu │ ├── XRGB_to_NV12.cu │ └── XRGB_to_YUV444.cu │ ├── icons │ ├── audio.png │ ├── authentication-small.png │ ├── authentication.ico │ ├── authentication.png │ ├── bandwidth_limit.png │ ├── bell.ico │ ├── bell.png │ ├── browse.ico │ ├── browse.png │ ├── browser.png │ ├── bugs.ico │ ├── bugs.png │ ├── clipboard.ico │ ├── clipboard.png │ ├── close.png │ ├── compressed.png │ ├── connect.png │ ├── cross.png │ ├── cuda.ico │ ├── cyclonedx-small.png │ ├── cyclonedx.png │ ├── directory.ico │ ├── disconnected.png │ ├── display.png │ ├── documentation.png │ ├── download.png │ ├── empty.png │ ├── encoding.ico │ ├── encoding.png │ ├── eye-off.png │ ├── eye-on.png │ ├── features.ico │ ├── features.png │ ├── fluxbox.png │ ├── font.ico │ ├── font.png │ ├── forward.png │ ├── freebsd.png │ ├── gears.ico │ ├── gnome-session.png │ ├── gnome.png │ ├── gstreamer.ico │ ├── gstreamer.png │ ├── gtk.ico │ ├── information.ico │ ├── information.png │ ├── kde.png │ ├── keyboard.ico │ ├── keyboard.png │ ├── keymap.ico │ ├── linux.png │ ├── list.png │ ├── loop.ico │ ├── lxde.png │ ├── macos.png │ ├── matchbox.png │ ├── maximize.png │ ├── mdns.ico │ ├── mdns.png │ ├── microphone.ico │ ├── microphone.png │ ├── minimize.png │ ├── network.ico │ ├── noicon.png │ ├── nvidia.ico │ ├── open.png │ ├── openbox.png │ ├── openbsd.png │ ├── opengl.ico │ ├── opengl.png │ ├── package.png │ ├── picture.png │ ├── pointer.png │ ├── printer.ico │ ├── printer.png │ ├── python.ico │ ├── python.png │ ├── qr.png │ ├── quit.png │ ├── raise.png │ ├── reinitialize.png │ ├── retry.png │ ├── sawfish.png │ ├── scaling.png │ ├── screenshot.ico │ ├── screenshot.png │ ├── server-connected.ico │ ├── server-connected.png │ ├── server-notconnected.ico │ ├── server-notconnected.png │ ├── server.png │ ├── shadow.png │ ├── shutdown.png │ ├── slider.png │ ├── speaker-off.png │ ├── speaker.ico │ ├── speaker.png │ ├── speed.png │ ├── sql.ico │ ├── sqlite.ico │ ├── sqlite.png │ ├── start.png │ ├── statistics.png │ ├── ticked-small.png │ ├── ticked.png │ ├── timer.png │ ├── toolbox.ico │ ├── toolbox.png │ ├── transfer.png │ ├── transparent.ico │ ├── transparent.png │ ├── unticked-small.png │ ├── unticked.png │ ├── update.png │ ├── upload.png │ ├── user.png │ ├── video.png │ ├── webcam.ico │ ├── webcam.png │ ├── win32.png │ ├── windowmaker.png │ ├── windows.png │ ├── xpra.ico │ ├── xpra.png │ ├── xpra_txt.ico │ └── xterm.png │ └── images │ ├── gradient.webp │ ├── pinwheel.jpg │ ├── smpte-rp-219.png │ └── warning.png ├── packaging ├── MSWindows │ ├── ALL_RELEASE_BUILDS.sh │ ├── BUILD.py │ ├── BUILD.sh │ ├── BUILD_CUDA_KERNEL.BAT │ ├── DirectShow.tlb │ ├── SETUP.sh │ ├── SIGN_ALL.sh │ ├── TaskbarLib.tlb │ ├── __init__.py │ ├── cyclonedx_sbom.py │ ├── exe.manifest │ ├── gen_win32con.py │ ├── msi.py │ ├── msi.xml │ ├── pkgconfig │ │ ├── cuda.pc │ │ ├── nvdec.pc │ │ ├── nvenc.pc │ │ ├── nvfbc.pc │ │ └── nvjpeg.pc │ ├── service │ │ ├── DesktopLogon │ │ │ ├── DesktopLogon.cs │ │ │ ├── DesktopLogon.csproj │ │ │ └── DesktopLogon.sln │ │ ├── Xpra-Service.cpp │ │ └── event_log.mc │ ├── tools │ │ ├── bug_report.py │ │ ├── gtk_info.py │ │ ├── gtk_keyboard_test.py │ │ ├── lib_delegate.py │ │ ├── screenshot.py │ │ └── systemtray_test.py │ ├── website.url │ ├── xpra-logo.bmp │ ├── xpra.bmp │ └── xpra.iss ├── MacOS │ ├── Blank.dmg.bz2 │ ├── C-wrapper.c │ ├── GPL.rtf │ ├── Helpers │ │ ├── Auth_Dialog │ │ ├── Browser │ │ ├── Bug_Report │ │ ├── Config_info │ │ ├── Configure │ │ ├── Encoding_info │ │ ├── Example-Colors │ │ ├── Example-Colors-Gradient │ │ ├── Example-Colors-Plain │ │ ├── Example-OpenGL-Colors-Gradient │ │ ├── Example-Transparent-Colors │ │ ├── Example-Transparent-Window │ │ ├── Feature_info │ │ ├── GStreamer_info │ │ ├── GTK_info │ │ ├── Keyboard_Tool │ │ ├── Keyboard_info │ │ ├── Keymap_info │ │ ├── Launcher │ │ ├── Manual │ │ ├── NativeGUI_info │ │ ├── Network_info │ │ ├── OpenGL_check │ │ ├── Path_info │ │ ├── PowerMonitor │ │ ├── Print │ │ ├── Python │ │ ├── PythonExecWrapper │ │ ├── SQL_auth_tool │ │ ├── SQLite_auth_tool │ │ ├── Shadow │ │ ├── U2F_Tool │ │ ├── Version_info │ │ ├── Webcam_Test │ │ └── Xpra │ ├── Info-template.plist │ ├── Info.plist │ ├── Inherit.entitlements │ ├── Shell-wrapper.c │ ├── Xpra.bundle │ ├── Xpra.entitlements │ ├── Xpra_NoDock.app │ │ └── Contents │ │ │ └── Info.plist │ ├── background.png │ ├── dmg-icons │ │ ├── background.jpg │ │ └── icon.png │ ├── gtkrc │ ├── make-DMG.sh │ ├── make-PKG.sh │ ├── make-all.sh │ ├── make-app.sh │ ├── make-appstore-PKG.sh │ ├── org.xpra.Agent.plist │ ├── postinstall │ ├── sign-app.sh │ └── xpra.icns ├── containers │ ├── README.md │ ├── allow-all.conf │ ├── desktop.sh │ ├── keyboard │ ├── locale │ ├── mozilla-firefox │ ├── pod.sh │ ├── update-apps.sh │ ├── update-xpra.sh │ ├── winbar │ │ ├── items.ini │ │ └── settings.conf │ ├── xpra.sh │ └── xvfb.sh ├── debian │ ├── build.sh │ ├── libcuda1.sh │ ├── libcuda1 │ │ └── DEBIAN │ │ │ └── control │ ├── libnvidia-fbc1.sh │ ├── libnvidia-fbc1 │ │ └── DEBIAN │ │ │ └── control │ ├── winbar.sh │ ├── winbar │ │ ├── changelog │ │ ├── compat │ │ ├── control │ │ ├── copyright │ │ └── rules │ ├── xpra.sh │ ├── xpra │ │ ├── README.Debian │ │ ├── changelog │ │ ├── compat │ │ ├── control │ │ ├── copyright │ │ ├── patches │ │ │ ├── pam.patch │ │ │ ├── series │ │ │ └── service-config.patch │ │ ├── rules │ │ ├── source │ │ │ ├── format │ │ │ └── options │ │ ├── watch │ │ ├── xpra-audio.files │ │ ├── xpra-audio.install │ │ ├── xpra-client-gnome.files │ │ ├── xpra-client-gtk3.files │ │ ├── xpra-client-gtk3.lintian-overrides │ │ ├── xpra-client-qt6.files │ │ ├── xpra-client.files │ │ ├── xpra-client.manpages │ │ ├── xpra-codecs-amd.files │ │ ├── xpra-codecs-amd.lintian-overrides │ │ ├── xpra-codecs-extras.files │ │ ├── xpra-codecs-extras.lintian-overrides │ │ ├── xpra-codecs-nvidia.files │ │ ├── xpra-codecs-nvidia.lintian-overrides │ │ ├── xpra-codecs.files │ │ ├── xpra-common.docs │ │ ├── xpra-common.files │ │ ├── xpra-common.links │ │ ├── xpra-common.manpages │ │ ├── xpra-server.files │ │ ├── xpra-server.lintian-overrides │ │ ├── xpra-server.postinst │ │ ├── xpra-server.postrm │ │ ├── xpra-server.service │ │ ├── xpra-server.socket │ │ ├── xpra-x11.files │ │ ├── xpra.files │ │ ├── xpra.install │ │ └── xpra.lintian-overrides │ ├── xserver-xorg-video-dummy.sh │ └── xserver-xorg-video-dummy │ │ ├── changelog │ │ ├── compat │ │ ├── control │ │ ├── copyright │ │ ├── patches │ │ ├── 0002-Constant-DPI.patch │ │ ├── 0006-Dummy-Disconnect.patch │ │ └── series │ │ └── rules ├── repos │ ├── CentOS-Stream │ │ ├── xpra-beta.repo │ │ ├── xpra-lts.repo │ │ └── xpra.repo │ ├── CentOS │ │ ├── 7 │ │ │ ├── xpra-beta.repo │ │ │ └── xpra.repo │ │ ├── 8 │ │ │ ├── xpra-beta.repo │ │ │ ├── xpra-lts.repo │ │ │ └── xpra.repo │ │ └── 9 │ │ │ ├── xpra-beta.repo │ │ │ ├── xpra-lts.repo │ │ │ └── xpra.repo │ ├── Fedora │ │ ├── xpra-beta.repo │ │ ├── xpra-lts.repo │ │ └── xpra.repo │ ├── almalinux │ │ ├── xpra-beta.repo │ │ ├── xpra-lts.repo │ │ └── xpra.repo │ ├── bionic │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ ├── bookworm │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ ├── bullseye │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ ├── focal │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ ├── install.sh │ ├── jammy │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ ├── noble │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ ├── oraclelinux │ │ ├── xpra-beta.repo │ │ ├── xpra-lts.repo │ │ └── xpra.repo │ ├── oracular │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ ├── plucky │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ ├── rockylinux │ │ ├── xpra-beta.repo │ │ ├── xpra-lts.repo │ │ └── xpra.repo │ ├── sid │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ ├── trixie │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources │ └── xenial │ │ ├── xpra-beta.list │ │ ├── xpra-beta.sources │ │ ├── xpra-lts.list │ │ ├── xpra-lts.sources │ │ ├── xpra.list │ │ └── xpra.sources ├── rpm │ ├── distros │ │ ├── almalinux-10-kitten.list │ │ ├── almalinux-9.list │ │ ├── almalinux.list │ │ ├── arm64.list │ │ ├── centos-stream10-development.list │ │ ├── centos-stream10.list │ │ ├── centos-stream9-arm64.list │ │ ├── centos.list │ │ ├── default.list │ │ ├── fedora-40.list │ │ ├── fedora-41.list │ │ ├── fedora-42.list │ │ ├── fedora-arm64.list │ │ ├── fedora-riscv64.list │ │ ├── fedora.list │ │ ├── oraclelinux-9.list │ │ ├── oraclelinux.list │ │ ├── riscv64.list │ │ ├── rockylinux-9.list │ │ └── rockylinux.list │ ├── fake-cuda.spec │ ├── gstreamer1-plugin-timestamp.spec │ ├── libyuv.spec │ ├── nasm.spec │ ├── openh264.spec │ ├── patches │ │ ├── 0002-Constant-DPI.patch │ │ ├── 0006-Dummy-Disconnect.patch │ │ ├── aioquic-pycrypto-tls-utc.patch │ │ ├── libyuv-0001-Use-a-proper-so-version.patch │ │ ├── libyuv-0006-Link-main-library-against-libjpeg.patch │ │ ├── libyuv-0007-nojpeg.patch │ │ └── pyopengl-py3.13-nonumpy.patch │ ├── pygobject3.spec │ ├── python3-aioquic.spec │ ├── python3-cairo.spec │ ├── python3-cython.spec │ ├── python3-dbus.spec │ ├── python3-numpy.spec │ ├── python3-pillow.spec │ ├── python3-pycuda.spec │ ├── python3-pylsqpack.spec │ ├── python3-pynvml.spec │ ├── python3-pyopengl.spec │ ├── python3-pytools.spec │ ├── python3-pyu2f.spec │ ├── python3-pyxdg.spec │ ├── python3-setuptools.spec │ ├── python3-uinput.spec │ ├── python3-wheel.spec │ ├── winbar.spec │ ├── xorg-x11-drv-dummy.spec │ └── xpra.spec └── target-repository ├── pyproject.toml ├── setup.py ├── sonar-project.properties ├── tests ├── __init__.py ├── perf │ ├── perf_config_default.py │ ├── test_measure_perf.py │ ├── test_measure_perf_chartreps.py │ └── test_measure_perf_charts.py ├── scripts │ ├── __init__.py │ ├── cProfile │ └── pycallgraph2 ├── test-images │ ├── test-odd-both.png │ ├── test-odd-height.png │ ├── test-odd-width.png │ └── test.png ├── unittests │ ├── run │ └── unit │ │ ├── __init__.py │ │ ├── audio │ │ ├── __init__.py │ │ └── common_test.py │ │ ├── auth_handlers_test.py │ │ ├── buffers │ │ └── cyxor_test.py │ │ ├── child_reaper_test.py │ │ ├── client │ │ ├── __init__.py │ │ ├── border_test.py │ │ ├── cairo_test.py │ │ ├── keyboard_helper_test.py │ │ ├── osxlike_clipboard_test.py │ │ ├── paint_colors_test.py │ │ ├── splash_test.py │ │ ├── subsystem │ │ │ ├── __init__.py │ │ │ ├── audioclient_test.py │ │ │ ├── clientmixintest_util.py │ │ │ ├── clipboard_test.py │ │ │ ├── display_test.py │ │ │ ├── encodings_test.py │ │ │ ├── keyboard_test.py │ │ │ ├── logging_test.py │ │ │ ├── mmap_test.py │ │ │ ├── networkstate_test.py │ │ │ ├── notifications_test.py │ │ │ ├── pointer_test.py │ │ │ ├── serverinfo_test.py │ │ │ ├── stubclient_test.py │ │ │ ├── tray_test.py │ │ │ ├── webcam_test.py │ │ │ └── window_test.py │ │ ├── x11_client_test.py │ │ ├── x11_client_test_util.py │ │ ├── x11_clipboard_test.py │ │ └── x11_clipboard_test_util.py │ │ ├── codecs │ │ ├── __init__.py │ │ ├── argb_test.py │ │ ├── codecs_selftest_test.py │ │ ├── color_range_test.py │ │ ├── csc_colorspace_test.py │ │ ├── image_wrapper_test.py │ │ ├── nvutil_test.py │ │ ├── pillow_encoder_test.py │ │ ├── pillow_header_test.py │ │ ├── rgb_transform_test.py │ │ └── video_colorspace_test.py │ │ ├── dbus │ │ ├── __init__.py │ │ └── dbus_helper_test.py │ │ ├── gtk_common │ │ ├── __init__.py │ │ └── keymap_test.py │ │ ├── keyboard_layout_test.py │ │ ├── net │ │ ├── HMAC_test.py │ │ ├── __init__.py │ │ ├── brotli_test.py │ │ ├── common_test.py │ │ ├── compression_test.py │ │ ├── crypto_test.py │ │ ├── d3des_test.py │ │ ├── digest_test.py │ │ ├── file_transfer_test.py │ │ ├── lz4_test.py │ │ ├── net_util_test.py │ │ ├── packet_encoding_test.py │ │ ├── packet_header_test.py │ │ ├── protocol_test.py │ │ ├── rfb │ │ │ ├── __init__.py │ │ │ └── rfb_test.py │ │ ├── ssh_test.py │ │ ├── subprocess_wrapper_test.py │ │ ├── websocket_header_test.py │ │ └── websocket_response_headers_test.py │ │ ├── notifications │ │ ├── __init__.py │ │ └── common_test.py │ │ ├── os_util_test.py │ │ ├── platformtests │ │ ├── __init__.py │ │ ├── displayfd_test.py │ │ ├── features_test.py │ │ ├── info_test.py │ │ ├── init_test.py │ │ └── mainmodule_test.py │ │ ├── process_test_util.py │ │ ├── queue_scheduler_test.py │ │ ├── rectangle_test.py │ │ ├── run.py │ │ ├── scaling_parser_test.py │ │ ├── scripts │ │ ├── __init__.py │ │ ├── main_test.py │ │ ├── parse_display_name_test.py │ │ ├── parsing_test.py │ │ └── server_test.py │ │ ├── server │ │ ├── __init__.py │ │ ├── auth_test.py │ │ ├── background_worker_test.py │ │ ├── cystats_test.py │ │ ├── dbus_test.py │ │ ├── motion_test.py │ │ ├── proxy_server_test.py │ │ ├── server_auth_test.py │ │ ├── server_sockets_test.py │ │ ├── shadow_server_test.py │ │ ├── source │ │ │ ├── __init__.py │ │ │ └── source_mixins_test.py │ │ ├── subsystem │ │ │ ├── __init__.py │ │ │ ├── audio_test.py │ │ │ ├── bandwidth_test.py │ │ │ ├── child_command_test.py │ │ │ ├── clipboard_test.py │ │ │ ├── display_test.py │ │ │ ├── encoding_test.py │ │ │ ├── fileprint_test.py │ │ │ ├── input_test.py │ │ │ ├── logging_test.py │ │ │ ├── mmap_test.py │ │ │ ├── notification_test.py │ │ │ ├── ping_test.py │ │ │ ├── remotelogging_test.py │ │ │ ├── server_mixins_option_test_util.py │ │ │ ├── servermixintest_util.py │ │ │ ├── shadow_option_test.py │ │ │ ├── start_option_test.py │ │ │ ├── startdesktop_option_test.py │ │ │ ├── stub_mixin_test.py │ │ │ ├── webcam_test.py │ │ │ └── window_test.py │ │ ├── video_scoring_test.py │ │ ├── video_subregion_test.py │ │ └── window │ │ │ ├── __init__.py │ │ │ └── batch_config_test.py │ │ ├── server_test_util.py │ │ ├── simple_stats_test.py │ │ ├── test_util.py │ │ ├── util_test.py │ │ ├── version_util_test.py │ │ └── x11 │ │ ├── __init__.py │ │ ├── common_test.py │ │ ├── display_util_test.py │ │ ├── keyboard_test.py │ │ ├── size_hints_util_test.py │ │ ├── x11_server_test.py │ │ └── xsettings_test.py └── xpra │ ├── __init__.py │ ├── clients │ ├── __init__.py │ ├── encode.py │ ├── fake_client.py │ ├── fake_gtk_client.py │ ├── gl_scroll.py │ └── test_DoS_client.py │ ├── codecs │ ├── __init__.py │ ├── benchmark.py │ ├── benchmark_bgra_to_rgb.py │ ├── benchmark_bgra_to_rgba.py │ ├── benchmark_bgrx_to_rgb.py │ ├── benchmark_picture_encoders.py │ ├── evdi_glib.py │ ├── evdi_test.py │ ├── replay_screen_updates.py │ └── test_single_frame_video.py │ ├── keyboard │ ├── __init__.py │ ├── test_get_keycode_mappings.py │ └── test_x11keycodes_down.py │ ├── net │ ├── __init__.py │ ├── fake_jitter.py │ ├── vsock_client_test.py │ ├── vsock_server_test.py │ └── webtransport.sh │ ├── server │ ├── __init__.py │ ├── test_open_display.py │ └── test_region.py │ ├── test_apps │ ├── __init__.py │ ├── dbus_video_region_detection.py │ ├── dbus_video_region_enabled.py │ ├── dump_xshape.py │ ├── fps.py │ ├── screensaver_listener.py │ ├── send_dbus_video_exclusion_zone.py │ ├── simulate_console_typing.py │ ├── simulate_console_user.py │ ├── test_command_change.py │ ├── test_copy_image_from_clipboard.py │ ├── test_copy_image_to_clipboard.py │ ├── test_cursor_pixbuf.py │ ├── test_drop_down.py │ ├── test_fast_cursor.py │ ├── test_form_input.py │ ├── test_frame_extents.py │ ├── test_gtk3_window.py │ ├── test_hostname.py │ ├── test_modal_window.py │ ├── test_notification.py │ ├── test_right_click_menu.py │ ├── test_show_desktop.py │ ├── test_system_tray.py │ ├── test_window_bypass_compositor.py │ ├── test_window_content_type.py │ ├── test_window_eclipse_fixed_size.py │ ├── test_window_icon_from_files.py │ ├── test_window_iconify.py │ ├── test_window_initial_position.py │ ├── test_window_maximize.py │ ├── test_window_maxsize_GTK3.py │ ├── test_window_move.py │ ├── test_window_moveresize.py │ ├── test_window_quality_speed_hints.py │ ├── test_window_raise.py │ ├── test_window_resize.py │ ├── test_window_title_fixed.py │ ├── test_window_withicon.py │ ├── test_window_xterm_size_hints.py │ ├── test_windows_at.py │ └── test_wmclass_change.py │ └── x11 │ ├── print_atom.py │ ├── print_xpra_props.py │ └── xres_get_pid.py └── xpra ├── __init__.py ├── audio ├── __init__.py ├── audio_pipeline.py ├── common.py ├── gstreamer_util.py ├── pulseaudio │ ├── __init__.py │ ├── common_util.py │ ├── none_impl.py │ ├── pactl_impl.py │ └── util.py ├── sink.py ├── src.py └── wrapper.py ├── auth ├── __init__.py ├── allow.py ├── auth_helper.py ├── capability.py ├── common.py ├── env.py ├── exec.py ├── fail.py ├── file.py ├── file_auth_base.py ├── gss.py ├── hosts.py ├── http_header.py ├── kerberos_password.py ├── kerberos_token.py ├── keycloak.py ├── ldap.py ├── ldap3.py ├── multifile.py ├── mysql.py ├── none.py ├── otp.py ├── pam.py ├── password.py ├── peercred.py ├── reject.py ├── sql.py ├── sqlauthbase.py ├── sqlite.py ├── sys_auth_base.py ├── u2f.py └── win32.py ├── buffers ├── __init__.py ├── cityhash.pxd ├── cityhash.pyx ├── cyxor.pyx ├── memalign.c ├── memalign.h ├── membuf.pxd ├── membuf.pyx ├── xxh.pxd ├── xxh.pyx └── xxh3.h ├── challenge ├── __init__.py ├── env.py ├── file.py ├── gss.py ├── handler.py ├── kerberos.py ├── prompt.py ├── u2f.py └── uri.py ├── client ├── __init__.py ├── base │ ├── __init__.py │ ├── adapter.py │ ├── aes.py │ ├── challenge.py │ ├── client.py │ ├── command.py │ ├── control.py │ ├── debug.py │ ├── encode.py │ ├── factory.py │ ├── features.py │ ├── fileprint.py │ ├── glib_adapter.py │ ├── gobject.py │ ├── network.py │ ├── progress.py │ ├── rfb_protocol.py │ ├── serverinfo.py │ ├── ssl_upgrade.py │ ├── stub.py │ └── top.py ├── gtk3 │ ├── __init__.py │ ├── cairo_backing.py │ ├── cairo_backing_base.py │ ├── client.py │ ├── client_base.py │ ├── keyboard_helper.py │ ├── launcher.py │ ├── menu_helper.py │ ├── notifier.py │ ├── opengl │ │ ├── __init__.py │ │ ├── client_window.py │ │ ├── drawing_area.py │ │ ├── glarea_backing.py │ │ ├── glarea_window.py │ │ └── native_window.py │ ├── statusicon_tray.py │ ├── tray_menu.py │ └── window │ │ ├── __init__.py │ │ ├── action.py │ │ ├── base.py │ │ ├── common.py │ │ ├── dragndrop.py │ │ ├── factory.py │ │ ├── focus.py │ │ ├── grab.py │ │ ├── headerbar.py │ │ ├── keyboard.py │ │ ├── menu.py │ │ ├── pointer.py │ │ ├── shape.py │ │ ├── stub_window.py │ │ ├── window.py │ │ ├── window_info.py │ │ └── workspace.py ├── gui │ ├── __init__.py │ ├── client_tray.py │ ├── factory.py │ ├── fake_client.py │ ├── fake_window_backing.py │ ├── keyboard_helper.py │ ├── keyboard_shortcuts_parser.py │ ├── paint_colors.py │ ├── spinner.py │ ├── tray_base.py │ ├── ui_client_base.py │ ├── widget_base.py │ ├── window_backing_base.py │ ├── window_base.py │ └── window_border.py ├── pyglet │ ├── __init__.py │ ├── client.py │ ├── keys.py │ └── window.py ├── qt6 │ ├── __init__.py │ ├── client.py │ ├── keys.py │ ├── main.py │ └── window.py ├── subsystem │ ├── __init__.py │ ├── audio.py │ ├── bandwidth.py │ ├── clipboard.py │ ├── command.py │ ├── cursor.py │ ├── display.py │ ├── encoding.py │ ├── keyboard.py │ ├── logging.py │ ├── mmap.py │ ├── network_listener.py │ ├── notification.py │ ├── ping.py │ ├── pointer.py │ ├── server_info.py │ ├── ssh_agent.py │ ├── tray.py │ ├── webcam.py │ └── window.py └── tk │ ├── __init__.py │ ├── client.py │ └── window.py ├── clipboard ├── __init__.py ├── core.py └── timeout.py ├── codecs ├── __init__.py ├── amf │ ├── __init__.py │ ├── amf.pxd │ ├── common.pxd │ ├── common.pyx │ └── encoder.pyx ├── argb │ ├── __init__.py │ ├── argb.pxd │ ├── argb.pyx │ ├── encoder.py │ └── scale.py ├── avif │ ├── __init__.py │ ├── avif.pxd │ ├── decoder.pyx │ └── encoder.pyx ├── checks.py ├── constants.py ├── csc_cython │ ├── __init__.py │ └── converter.pyx ├── debug.py ├── drm │ ├── __init__.py │ └── drm.pyx ├── evdi │ ├── __init__.py │ ├── capture.pyx │ └── load.py ├── gstreamer │ ├── __init__.py │ ├── capture.py │ ├── common.py │ ├── decoder.py │ └── encoder.py ├── icon_util.py ├── image.py ├── jpeg │ ├── __init__.py │ ├── decoder.pyx │ └── encoder.pyx ├── libyuv │ ├── __init__.py │ └── converter.pyx ├── loader.py ├── nvidia │ ├── __init__.py │ ├── cuda │ │ ├── __init__.py │ │ ├── context.py │ │ ├── errors.py │ │ ├── image.py │ │ └── info.py │ ├── nvdec │ │ ├── __init__.py │ │ └── decoder.pyx │ ├── nvenc │ │ ├── __init__.py │ │ └── encoder.pyx │ ├── nvfbc │ │ ├── __init__.py │ │ ├── capture.py │ │ ├── capture_linux.pyx │ │ └── capture_win.pyx │ ├── nvjpeg │ │ ├── __init__.py │ │ ├── common.pyx │ │ ├── decoder.pyx │ │ ├── encoder.pyx │ │ └── nvjpeg.pxd │ └── util.py ├── openh264 │ ├── __init__.py │ ├── decoder.pyx │ └── encoder.pyx ├── pillow │ ├── __init__.py │ ├── decoder.py │ └── encoder.py ├── proxy │ ├── __init__.py │ └── encoder.py ├── remote │ ├── __init__.py │ ├── common.py │ └── encoder.py ├── rgb_transform.py ├── spng │ ├── __init__.py │ ├── decoder.pyx │ ├── encoder.pyx │ └── spng.pxd ├── v4l2 │ ├── __init__.py │ ├── video.h │ └── virtual.pyx ├── video.py ├── vpx │ ├── __init__.py │ ├── decoder.pyx │ ├── encoder.pyx │ └── vpx.pxd ├── webp │ ├── __init__.py │ ├── decoder.pyx │ └── encoder.pyx └── x264 │ ├── __init__.py │ └── encoder.pyx ├── common.py ├── dbus ├── __init__.py ├── common.py ├── helper.py └── notifications_forwarder.py ├── exit_codes.py ├── gstreamer ├── __init__.py ├── common.py └── pipeline.py ├── gtk ├── __init__.py ├── bindings │ ├── __init__.py │ ├── atoms.pyx │ ├── gobject.pxd │ └── gobject.pyx ├── cairo_image.pyx ├── clipboard.py ├── configure │ ├── __init__.py │ ├── common.py │ ├── encodings.py │ ├── features.py │ ├── gstreamer.py │ ├── home.py │ ├── main.py │ ├── opengl.py │ ├── packages.py │ ├── shadow.py │ └── vfb.py ├── css_overrides.py ├── cursors.py ├── dialogs │ ├── __init__.py │ ├── about.py │ ├── auth_dialog.py │ ├── base_gui_window.py │ ├── bug_report.py │ ├── confirm_dialog.py │ ├── desktop_greeter.py │ ├── gui.py │ ├── mdns_gui.py │ ├── open_requests.py │ ├── pass_dialog.py │ ├── qrcode.py │ ├── qrcode_client.py │ ├── server_commands.py │ ├── session_info.py │ ├── sessions_gui.py │ ├── show_shortcuts.py │ ├── show_webcam.py │ ├── splash.py │ ├── start_gui.py │ ├── start_new_command.py │ ├── toolbox.py │ ├── u2f_tool.py │ ├── update_status.py │ ├── util.py │ ├── view_clipboard.py │ └── view_keyboard.py ├── error.py ├── examples │ ├── __init__.py │ ├── bell.py │ ├── clicks.py │ ├── colors.py │ ├── colors_gradient.py │ ├── colors_plain.py │ ├── cursors.py │ ├── file_chooser.py │ ├── fontrendering.py │ ├── grabs.py │ ├── header_bar.py │ ├── initiate_moveresize.py │ ├── opengl.py │ ├── text_entry.py │ ├── transparent_colors.py │ ├── transparent_window.py │ ├── tray.py │ ├── window_focus.py │ ├── window_geometry_hints.py │ ├── window_opacity.py │ ├── window_overrideredirect.py │ ├── window_states.py │ ├── window_title.py │ └── window_transient.py ├── gobject.py ├── graph.py ├── info.py ├── keymap.py ├── notifier-LICENSE.txt ├── notifier.py ├── pixbuf.py ├── signals.py ├── util.py ├── versions.py ├── widget.py └── window.py ├── keyboard ├── __init__.py ├── common.py ├── ibus.py ├── layouts.py └── mask.py ├── log.py ├── net ├── __init__.py ├── brotli │ ├── __init__.py │ ├── compressor.pyx │ └── decompressor.pyx ├── bytestreams.py ├── common.py ├── compression.py ├── control │ ├── __init__.py │ ├── common.py │ └── debug.py ├── crypto.py ├── device_info.py ├── digest.py ├── file_transfer.py ├── glib_handler.py ├── http │ ├── __init__.py │ ├── common.py │ ├── directory_listing.py │ └── handler.py ├── libproxy.py ├── lz4 │ ├── __init__.py │ ├── lz4.pyx │ └── lz4_compat.h ├── mdns │ ├── __init__.py │ ├── avahi_listener.py │ ├── avahi_publisher.py │ ├── util.py │ ├── zeroconf_listener.py │ └── zeroconf_publisher.py ├── mmap.py ├── net_util.py ├── packet_encoding.py ├── protocol │ ├── __init__.py │ ├── check.py │ ├── constants.py │ ├── factory.py │ ├── header.py │ └── socket_handler.py ├── qrcode │ ├── __init__.py │ └── qrencode.pyx ├── quic │ ├── __init__.py │ ├── asyncio_thread.py │ ├── client.py │ ├── common.py │ ├── connection.py │ ├── http.py │ ├── listener.py │ ├── session_ticket_store.py │ ├── websocket.py │ └── webtransport.py ├── rencodeplus │ ├── __init__.py │ └── rencodeplus.pyx ├── rfb │ ├── __init__.py │ ├── const.py │ ├── d3des.py │ ├── encode.py │ └── protocol.py ├── socket_util.py ├── ssh │ ├── __init__.py │ ├── agent.py │ ├── exec_client.py │ ├── paramiko_client.py │ ├── sshfp.py │ └── util.py ├── ssl_util.py ├── subprocess_wrapper.py ├── upnp.py ├── vsock │ ├── __init__.py │ └── vsock.pyx └── websockets │ ├── __init__.py │ ├── common.py │ ├── handler.py │ ├── header.py │ ├── headers │ ├── __init__.py │ ├── browser_cookie.py │ ├── default.py │ └── env_cookie.py │ ├── mask.pyx │ └── protocol.py ├── notification ├── __init__.py ├── common.py ├── dbus_notifier.py ├── notifier_base.py └── pynotify_notifier.py ├── opengl ├── __init__.py ├── backing.py ├── check.py ├── debug.py ├── drivers.py ├── shaders.py ├── util.py └── window.py ├── os_util.py ├── platform ├── __init__.py ├── autostart.py ├── client.py ├── clipboard.py ├── darwin │ ├── __init__.py │ ├── client.py │ ├── clipboard.py │ ├── ctypes_clipboard.py │ ├── dotxpra.py │ ├── events.py │ ├── features.py │ ├── gdk3_bindings.pyx │ ├── gl_context.py │ ├── gui.py │ ├── info.py │ ├── keyboard.py │ ├── keyboard_config.py │ ├── menu.py │ ├── netdev_query.py │ ├── notification.py │ ├── notifier.py │ ├── nsevent_glue.h │ ├── nsevent_glue.m │ ├── paths.py │ ├── printing.py │ ├── shadow_server.py │ ├── systray.py │ ├── transparency_glue.h │ ├── transparency_glue.m │ └── tray.py ├── displayfd.py ├── dotxpra.py ├── dotxpra_common.py ├── events.py ├── features.py ├── gl_context.py ├── gui.py ├── info.py ├── keyboard.py ├── keyboard_base.py ├── menu_helper.py ├── netdev_query.py ├── notification.py ├── pam.pyx ├── paths.py ├── posix │ ├── __init__.py │ ├── appindicator_tray.py │ ├── autostart.py │ ├── client.py │ ├── clipboard.py │ ├── dotxpra.py │ ├── events.py │ ├── fd_portal.py │ ├── fd_portal_shadow.py │ ├── features.py │ ├── gl_context.py │ ├── gui.py │ ├── info.py │ ├── keyboard.py │ ├── menu_helper.py │ ├── netdev_query.pyx │ ├── notification.py │ ├── paths.py │ ├── printing.py │ ├── proc.py │ ├── proc_libproc.pyx │ ├── proc_procps.pyx │ ├── remotedesktop.py │ ├── screencast.py │ ├── sd_listen.pyx │ ├── shadow_server.py │ ├── systray.py │ ├── webcam.py │ └── xi2.py ├── printing.py ├── proxy_server.py ├── pycups_printing.py ├── shadow_server.py ├── systray.py ├── ui_thread_watcher.py ├── webcam.py └── win32 │ ├── NotifyIcon.py │ ├── __init__.py │ ├── auth.py │ ├── balloon.py │ ├── client.py │ ├── clipboard.py │ ├── common.py │ ├── comtypes_util.py │ ├── comtypes_webcam.py │ ├── constants.py │ ├── create_process_lib.py │ ├── ctypes_clipboard.py │ ├── ctypes_printing.py │ ├── d3d11 │ ├── __init__.py │ └── device.pyx │ ├── desktoplogon_lib.py │ ├── directsound.py │ ├── dotxpra.py │ ├── dpi.py │ ├── dwm_color.py │ ├── events.py │ ├── features.py │ ├── gdi_screen_capture.py │ ├── gl_context.py │ ├── glwin32.py │ ├── gui.py │ ├── icon_util.py │ ├── info.py │ ├── keyboard.py │ ├── keyboard_config.py │ ├── lsa_logon_lib.py │ ├── menu_helper.py │ ├── namedpipes │ ├── __init__.py │ ├── common.py │ ├── connection.py │ └── listener.py │ ├── netdev_query.py │ ├── notification.py │ ├── notifier.py │ ├── paths.py │ ├── pdfium.py │ ├── printer_notify.py │ ├── printing.py │ ├── propsys.pyx │ ├── proxy_server.py │ ├── scripts │ ├── exec.py │ ├── execfile.py │ ├── proxy.py │ └── shadow_server.py │ ├── service.py │ ├── setappid.cpp │ ├── setappid.h │ ├── shadow_cursor.py │ ├── shadow_server.py │ ├── systray.py │ ├── tray.py │ ├── webcam.py │ ├── window_hooks.py │ ├── wndproc_events.py │ └── wtsapi.py ├── scripts ├── __init__.py ├── config.py ├── fdproxy.py ├── main.py ├── parsing.py ├── pinentry.py ├── server.py ├── session.py └── version.py ├── server ├── __init__.py ├── auth.py ├── base.py ├── core.py ├── cystats.pyx ├── dbus │ ├── __init__.py │ ├── common.py │ ├── server.py │ ├── server_base.py │ ├── shadow_server.py │ ├── source.py │ └── start.py ├── encoder │ ├── __init__.py │ └── server.py ├── factory.py ├── features.py ├── glib_server.py ├── gtk_server.py ├── keyboard_config_base.py ├── menu_provider.py ├── proxy │ ├── __init__.py │ ├── instance_base.py │ ├── instance_process.py │ ├── instance_thread.py │ ├── proxy_dbus_server.py │ ├── queue_scheduler.py │ └── server.py ├── rfb │ ├── __init__.py │ ├── protocol.py │ ├── server.py │ └── source.py ├── runner │ ├── __init__.py │ ├── factory.py │ └── server.py ├── runner_script.py ├── shadow │ ├── __init__.py │ ├── gtk_root_window_model.py │ ├── gtk_shadow_server_base.py │ ├── root_window_model.py │ └── shadow_server_base.py ├── source │ ├── __init__.py │ ├── audio.py │ ├── avsync.py │ ├── bandwidth.py │ ├── client_connection.py │ ├── clientinfo.py │ ├── clipboard.py │ ├── cursor.py │ ├── dbus.py │ ├── display.py │ ├── encoding.py │ ├── factory.py │ ├── fileprint.py │ ├── idle_mixin.py │ ├── keyboard.py │ ├── mmap.py │ ├── notification.py │ ├── ping.py │ ├── pointer.py │ ├── shell.py │ ├── source_stats.py │ ├── stub.py │ ├── webcam.py │ └── window.py ├── ssh.py ├── subsystem │ ├── __init__.py │ ├── audio.py │ ├── bandwidth.py │ ├── clipboard.py │ ├── command.py │ ├── control.py │ ├── controlcommands.py │ ├── cursor.py │ ├── dbus.py │ ├── debug.py │ ├── display.py │ ├── encoding.py │ ├── fileprint.py │ ├── http.py │ ├── keyboard.py │ ├── logging.py │ ├── mdns.py │ ├── mmap.py │ ├── notification.py │ ├── ping.py │ ├── pointer.py │ ├── power.py │ ├── pulseaudio.py │ ├── shell.py │ ├── splash.py │ ├── ssh_agent.py │ ├── stub.py │ ├── suspend.py │ ├── webcam.py │ └── window.py └── window │ ├── __init__.py │ ├── batch_config.py │ ├── batch_delay_calculator.py │ ├── compress.py │ ├── content_guesser.py │ ├── filters.py │ ├── metadata.py │ ├── motion.pyx │ ├── perfstats.py │ ├── video_compress.py │ ├── video_scoring.py │ ├── video_subregion.py │ └── windowicon.py ├── util ├── __init__.py ├── background_worker.py ├── child_reaper.py ├── colorstreamhandler.py ├── config.py ├── daemon.py ├── env.py ├── io.py ├── objects.py ├── parsing.py ├── pid.py ├── pysystem.py ├── rectangle.pyx ├── screen.py ├── stats.py ├── str_fn.py ├── system.py ├── thread.py └── version.py ├── wayland ├── __init__.py ├── wait.py └── wait_for_display.pyx └── x11 ├── __init__.py ├── bindings ├── __init__.py ├── core.pxd ├── core.pyx ├── display_source.pxd ├── display_source.pyx ├── events.pxd ├── events.pyx ├── keyboard.pyx ├── posix_display_source.pyx ├── randr.pxd ├── randr.pyx ├── randr_info.py ├── record.pyx ├── record_tool.py ├── res.pyx ├── send_wm.py ├── wait_for_x_server.pyx ├── window.pyx ├── xi2.pyx ├── ximage.pyx ├── xlib.pxd ├── xwait.pyx ├── xwayland.pyx └── xwayland_info.py ├── common.py ├── dbus ├── __init__.py └── x11_dbus_server.py ├── desktop ├── __init__.py ├── base.py ├── desktop_model.py ├── desktop_server.py ├── model_base.py ├── monitor_model.py └── monitor_server.py ├── gtk ├── __init__.py ├── bindings.pyx ├── clipboard.py ├── common.py ├── composite.py ├── damage.py ├── display_source.pyx ├── gdk_x11_macros.c ├── gdk_x11_macros.h ├── keys.py ├── native_window.py ├── prop.py ├── selection.py ├── tray.py ├── wm.py ├── wm_check.py └── world_window.py ├── models ├── __init__.py ├── base.py ├── core.py ├── model_stub.py ├── or_window.py ├── size_hints_util.py ├── systray.py └── window.py ├── prop_conv.py ├── server ├── __init__.py ├── base.py ├── core.py ├── expand.py ├── keyboard_config.py ├── seamless.py ├── server_uuid.py └── shadow.py ├── uinput ├── __init__.py ├── device.py └── setup.py ├── vfb_util.py ├── wait.py ├── window_filters.py ├── window_info.py ├── xkbhelper.py ├── xroot_props.py ├── xsettings.py └── xsettings_prop.py /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # .git-blame-ignore-revs 2 | # See also https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view 3 | 4 | # Date: Thu Jan 11 15:52:30 2024 +0700 5 | # Subject: [PATCH] cosmetic pep8 fixes 6 | db1cfaa80ab6a62048baa24efeef3d743a739086 7 | 8 | # Date: Tue, 30 Jan 2024 18:35:35 +0700 9 | # Subject: [PATCH] cosmetic: reformat 10 | 34bedd5dc1cd6850b81c6d7d16506ffd02df5449 11 | 12 | # Date: Wed, 31 Jan 2024 10:45:27 +0700 13 | # Subject: [PATCH] cosmetic: reformat 14 | 476b5fe79f89460240f5e9ca435ba5e5154e09e5 15 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: totaam 2 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | updates: 4 | - package-ecosystem: github-actions 5 | directory: / 6 | schedule: 7 | interval: weekly 8 | labels: 9 | - dependencies 10 | open-pull-requests-limit: 10 11 | -------------------------------------------------------------------------------- /debian: -------------------------------------------------------------------------------- 1 | packaging/debian/xpra -------------------------------------------------------------------------------- /docs/Build/graphs/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/Build/graphs/all.png -------------------------------------------------------------------------------- /docs/Build/graphs/codecs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/Build/graphs/codecs.png -------------------------------------------------------------------------------- /docs/Build/graphs/gtk3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/Build/graphs/gtk3.png -------------------------------------------------------------------------------- /docs/Build/graphs/packaging-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/Build/graphs/packaging-tools.png -------------------------------------------------------------------------------- /docs/Build/graphs/python3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/Build/graphs/python3.png -------------------------------------------------------------------------------- /docs/Build/graphs/tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/Build/graphs/tools.png -------------------------------------------------------------------------------- /docs/Features/Display.md: -------------------------------------------------------------------------------- 1 | # Display Settings 2 | 3 | ## Display Characteristics 4 | * [Image Depth](Image-Depth.md) 5 | * [DPI](DPI.md) 6 | * [Client OpenGL](../Usage/Client-OpenGL.md) 7 | * [Server OpenGL](../Usage/OpenGL.md) 8 | * [Xdummy](../Usage/Xdummy.md) 9 | * [Encodings](../Usage/Encodings.md) 10 | 11 | ## See also 12 | * [Keyboard](Keyboard.md) 13 | * [System tray](System-Tray.md) 14 | * [Notifications](Notifications.md) 15 | -------------------------------------------------------------------------------- /docs/Features/Keyboard-Shortcut-Window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/Features/Keyboard-Shortcut-Window.png -------------------------------------------------------------------------------- /docs/Network/Encryption.md: -------------------------------------------------------------------------------- 1 | # ![Authentication](../images/icons/authentication.png) Encryption 2 | 3 | Access to Xpra's sessions over `TCP`, `websocket` and unix domain sockets (see [network](README.md)) can be protected using [authentication modules](../Usage/Authentication.md) but those do not protect the network connection itself from man in the middle attacks. 4 | 5 | For that, you need to use one of these three options: 6 | * [TLS](SSL.md) 7 | * [AES](AES.md) 8 | * [SSH](SSH.md) 9 | 10 | 11 | [QUIC](QUIC.md) connections must use [TLS](SSL.md). 12 | 13 | --- 14 | 15 | See also: [Security Considerations](../Usage/Security.md) 16 | -------------------------------------------------------------------------------- /docs/images/Xpra-Proxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/Xpra-Proxy.png -------------------------------------------------------------------------------- /docs/images/icons/X11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/X11.png -------------------------------------------------------------------------------- /docs/images/icons/authentication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/authentication.png -------------------------------------------------------------------------------- /docs/images/icons/clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/clipboard.png -------------------------------------------------------------------------------- /docs/images/icons/connect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/connect.png -------------------------------------------------------------------------------- /docs/images/icons/debian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/debian.png -------------------------------------------------------------------------------- /docs/images/icons/encoding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/encoding.png -------------------------------------------------------------------------------- /docs/images/icons/freebsd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/freebsd.png -------------------------------------------------------------------------------- /docs/images/icons/keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/keyboard.png -------------------------------------------------------------------------------- /docs/images/icons/mdns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/mdns.png -------------------------------------------------------------------------------- /docs/images/icons/nvidia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/nvidia.png -------------------------------------------------------------------------------- /docs/images/icons/opengl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/opengl.png -------------------------------------------------------------------------------- /docs/images/icons/osx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/osx.png -------------------------------------------------------------------------------- /docs/images/icons/package.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/package.png -------------------------------------------------------------------------------- /docs/images/icons/printer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/printer.png -------------------------------------------------------------------------------- /docs/images/icons/quic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/quic.png -------------------------------------------------------------------------------- /docs/images/icons/rpm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/rpm.png -------------------------------------------------------------------------------- /docs/images/icons/server-connected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/server-connected.png -------------------------------------------------------------------------------- /docs/images/icons/sound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/sound.png -------------------------------------------------------------------------------- /docs/images/icons/ssh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/ssh.png -------------------------------------------------------------------------------- /docs/images/icons/ubuntu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/ubuntu.png -------------------------------------------------------------------------------- /docs/images/icons/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/upload.png -------------------------------------------------------------------------------- /docs/images/icons/webcam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/webcam.png -------------------------------------------------------------------------------- /docs/images/icons/windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/icons/windows.png -------------------------------------------------------------------------------- /docs/images/logos/atos-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/logos/atos-black.png -------------------------------------------------------------------------------- /docs/images/logos/corning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/logos/corning.png -------------------------------------------------------------------------------- /docs/images/logos/vpo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/logos/vpo-small.png -------------------------------------------------------------------------------- /docs/images/mdns-gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/mdns-gui.png -------------------------------------------------------------------------------- /docs/images/pavucontrol-client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/pavucontrol-client.png -------------------------------------------------------------------------------- /docs/images/pavucontrol-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/pavucontrol-server.png -------------------------------------------------------------------------------- /docs/images/screenshots/gnome-shell-notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/screenshots/gnome-shell-notification.png -------------------------------------------------------------------------------- /docs/images/screenshots/osx-notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/screenshots/osx-notification.png -------------------------------------------------------------------------------- /docs/images/screenshots/win11-glxspheres.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/screenshots/win11-glxspheres.png -------------------------------------------------------------------------------- /docs/images/screenshots/win32-notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/screenshots/win32-notification.png -------------------------------------------------------------------------------- /docs/images/screenshots/win32-shadow-tray-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/screenshots/win32-shadow-tray-menu.png -------------------------------------------------------------------------------- /docs/images/session-info-graphs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/session-info-graphs.png -------------------------------------------------------------------------------- /docs/images/session-info-sound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/session-info-sound.png -------------------------------------------------------------------------------- /docs/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/upload.png -------------------------------------------------------------------------------- /docs/images/win32-shadow-tray-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/docs/images/win32-shadow-tray-menu.png -------------------------------------------------------------------------------- /fs/bin/links-to-html.lua: -------------------------------------------------------------------------------- 1 | function Link(el) 2 | el.target = string.gsub(el.target, "README.md", "index.html") 3 | el.target = string.gsub(el.target, "%.md", ".html") 4 | return el 5 | end 6 | -------------------------------------------------------------------------------- /fs/bin/xpra: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import sys 4 | 5 | try: 6 | import xpra 7 | except ImportError as e: 8 | stderr = sys.stderr 9 | if stderr: 10 | stderr.write("Error: xpra is not installed or you are using the wrong python interpreter\n") 11 | stderr.write(" Python %s: %s\n" % (".".join(str(x) for x in sys.version_info[:3]), e)) 12 | stderr.flush() 13 | sys.exit(1) 14 | 15 | from xpra.platform import init, set_default_name 16 | set_default_name("Xpra") 17 | init() 18 | 19 | from xpra.scripts.main import main 20 | sys.exit(main(sys.argv[0], sys.argv)) 21 | -------------------------------------------------------------------------------- /fs/bin/xpra_launcher: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import os 4 | import sys 5 | 6 | os.environ["GTK_CSD"] = "0" 7 | from xpra.platform import program_context 8 | with program_context("Xpra-Launcher", "Xpra Connection Launcher"): 9 | from xpra.client.gtk3.launcher import do_main 10 | sys.exit(do_main(sys.argv)) 11 | -------------------------------------------------------------------------------- /fs/etc/X11/xorg.conf.d/90-xpra-virtual.conf: -------------------------------------------------------------------------------- 1 | # Ignore all xpra virtual devices by default, 2 | # these will be enabled explicitly when needed. 3 | Section "InputClass" 4 | Identifier "xpra-virtual-device" 5 | MatchProduct "Xpra" 6 | Option "Ignore" "true" 7 | EndSection 8 | -------------------------------------------------------------------------------- /fs/etc/dbus-1/system.d/xpra.conf: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /fs/etc/default: -------------------------------------------------------------------------------- 1 | sysconfig -------------------------------------------------------------------------------- /fs/etc/sysconfig/xpra: -------------------------------------------------------------------------------- 1 | TCP_AUTH=sys 2 | QUIC_AUTH=sys 3 | AUTH=peercred:verify-username=no 4 | #DEBUG=auth,proxy 5 | DEBUG= 6 | #skip datetime prefix since the log goes to a system logger: 7 | XPRA_LOG_FORMAT="%(message)s" 8 | 9 | #permissions and group ownership of /run/xpra 10 | XPRA_SOCKET_DIR_MODE=775 11 | XPRA_SOCKET_DIR_GROUP=xpra 12 | -------------------------------------------------------------------------------- /fs/etc/xpra/conf.d/35_webcam.conf.in: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Webcam forwarding 3 | 4 | # webcam = auto 5 | # webcam = no 6 | # webcam = /dev/video0 7 | webcam = %(webcam)s 8 | -------------------------------------------------------------------------------- /fs/etc/xpra/conf.d/45_osx.conf.in: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # OSX Client Specific Options 3 | 4 | # Swap the command and control keys: 5 | swap-keys = on 6 | 7 | # Use a specific icon for the dock: 8 | #dock-icon = /path/to/icon.png 9 | -------------------------------------------------------------------------------- /fs/etc/xpra/conf.d/65_proxy.conf.in: -------------------------------------------------------------------------------- 1 | ######################################################################## 2 | # Proxy Options 3 | 4 | # Can the proxy start new sessions on demand? 5 | proxy-start-sessions = True 6 | -------------------------------------------------------------------------------- /fs/etc/xpra/content-parent/10_default.conf: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Map applications based on their parent's command 3 | 4 | steam : video 5 | -------------------------------------------------------------------------------- /fs/etc/xpra/content-type/10_role.conf: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Match window role 3 | # aka WM_ROLE 4 | 5 | role:gimp-dock=text 6 | role:gimp-toolbox=text 7 | role:gimp-image-window=picture 8 | 9 | role:vlc-playlist=text 10 | role:vlc-main=audio+video 11 | -------------------------------------------------------------------------------- /fs/etc/xpra/content-type/70_commands.conf: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Match window command 3 | # aka WM_COMMAND 4 | 5 | #command:my_special_command=picture 6 | -------------------------------------------------------------------------------- /fs/etc/xpra/content-type/90_fallback.conf: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # since this file will be parsed late, 3 | # we can include more generic patterns here: 4 | 5 | role:browser=browser 6 | -------------------------------------------------------------------------------- /fs/etc/xpra/http-headers/00_nocache.txt: -------------------------------------------------------------------------------- 1 | # Prevent browser and proxies from caching: 2 | 3 | Cache-Control=no-cache, no-store, must-revalidate 4 | Pragma=no-cache 5 | Expires=0 6 | -------------------------------------------------------------------------------- /fs/etc/xpra/http-headers/10_content_security_policy.txt: -------------------------------------------------------------------------------- 1 | # Basic Content Security Policy 2 | 3 | Content-Security-Policy: script-src 'self' 'unsafe-inline' ; font-src 'self' ; object-src 'none' ; child-src 'self' ; worker-src 'self' ; frame-ancestors 'self' ; form-action 'self' ; block-all-mixed-content; 4 | 5 | # for stricter access control, use 'same-origin' 6 | Cross-Origin-Resource-Policy : cross-origin 7 | Access-Control-Allow-Origin : * 8 | Referrer-Policy: no-referrer 9 | -------------------------------------------------------------------------------- /fs/etc/xpra/nvenc.keys: -------------------------------------------------------------------------------- 1 | # List of license keys to use with the NVENC codec 2 | # 3 | # One key per line in the following format: 4 | # 01234567-89AB-CDEF-0123-456789ABCDEF 5 | # -------------------------------------------------------------------------------- /fs/etc/xpra/nvfbc.keys: -------------------------------------------------------------------------------- 1 | # List of license keys to use with the NVFBC 2 | # 3 | # One key per line, ie: 4 | # 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10 5 | # or just: 6 | # 0102030405060708090A0B0C0D0E0F10 7 | -------------------------------------------------------------------------------- /fs/lib/pkgconfig/README.md: -------------------------------------------------------------------------------- 1 | # `/lib/pkgconfig` 2 | 3 | Sample pkg config files for the NVidia libraries that don't usually come with one. 4 | 5 | You may need to edit them and modify the paths. 6 | 7 | These files should be placed in `/lib[64]/pkgconfig/`. 8 | -------------------------------------------------------------------------------- /fs/lib/pkgconfig/cuda.pc: -------------------------------------------------------------------------------- 1 | cudaroot=/opt/cuda/ 2 | libdir=${cudaroot}/targets/x86_64-linux/lib/stubs/ 3 | includedir=${cudaroot}/targets/x86_64-linux/include 4 | 5 | Name: cuda 6 | Description: CUDA Driver Library 7 | Version: 11.7 8 | Libs: -L${libdir} -lcuda 9 | Cflags: -I${includedir} 10 | -------------------------------------------------------------------------------- /fs/lib/pkgconfig/nvdec.pc: -------------------------------------------------------------------------------- 1 | prefix=/opt/nvenc 2 | exec_prefix=${prefix} 3 | includedir=${prefix}/Interface 4 | libdir=/usr/lib64/nvidia 5 | 6 | 7 | Name: nvdec 8 | Description: NVDEC 9 | Version: 10 10 | Requires: 11 | Conflicts: 12 | Libs: -L${libdir} -lnvcuvid 13 | Cflags: -I${includedir} -Wno-deprecated-declarations 14 | -------------------------------------------------------------------------------- /fs/lib/pkgconfig/nvenc.pc: -------------------------------------------------------------------------------- 1 | prefix=/opt/nvenc 2 | exec_prefix=${prefix} 3 | includedir=${prefix}/Interface 4 | libdir=/usr/lib64/nvidia 5 | 6 | 7 | Name: nvenc 8 | Description: NVENC 9 | Version: 10 10 | Requires: 11 | Conflicts: 12 | Libs: -L${libdir} -lnvidia-encode 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /fs/lib/pkgconfig/nvfbc.pc: -------------------------------------------------------------------------------- 1 | prefix=/opt/Capture_Linux/NvFBC 2 | exec_prefix=${prefix} 3 | includedir=${prefix}/inc 4 | libdir=/usr/lib64 5 | 6 | Name: nvfbc 7 | Description: NVFBC 8 | Version: 6.0 9 | Requires: 10 | Conflicts: 11 | Libs: -L${libdir} 12 | Cflags: -I${includedir} -lnvidia-fbc 13 | -------------------------------------------------------------------------------- /fs/lib/pkgconfig/nvjpeg.pc: -------------------------------------------------------------------------------- 1 | cudaroot=/opt/cuda 2 | libdir=${cudaroot}/targets/x86_64-linux/lib/stubs 3 | includedir=${cudaroot}/targets/x86_64-linux/include 4 | 5 | Name: nvjpeg 6 | Description: NVIDIA JPEG Library 7 | Version: 11.4 8 | Libs: -L${libdir} -lnvjpeg 9 | Cflags: -I${includedir} 10 | -------------------------------------------------------------------------------- /fs/lib/systemd/system/xpra-encoder.socket: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Xpra Encoder Socket 3 | PartOf=xpra-encoder.service 4 | 5 | [Socket] 6 | ListenStream=/run/xpra/encoder 7 | SocketUser=root 8 | SocketGroup=xpra 9 | PassCredentials=true 10 | 11 | [Install] 12 | WantedBy=sockets.target 13 | -------------------------------------------------------------------------------- /fs/lib/systemd/system/xpra.socket: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Xpra Socket 3 | PartOf=xpra.service 4 | 5 | [Socket] 6 | #this doesn't work because of SELinux AVC denials: 7 | ListenStream=14500 8 | ListenStream=/run/xpra/system 9 | #this is not handled yet: 10 | #ListenStream=vsock:x:y 11 | SocketUser=root 12 | SocketGroup=xpra 13 | PassCredentials=true 14 | 15 | [Install] 16 | WantedBy=sockets.target 17 | -------------------------------------------------------------------------------- /fs/lib/sysusers.d/xpra.conf: -------------------------------------------------------------------------------- 1 | g xpra - - 2 | 3 | -------------------------------------------------------------------------------- /fs/lib/tmpfiles.d/xpra.conf: -------------------------------------------------------------------------------- 1 | # This is the shared directory where users of the xpra group 2 | # can place sockets if they want to be able to share them. 3 | D /run/xpra 1775 - xpra 4 | D /run/xpra/proxy 1700 - xpra 5 | -------------------------------------------------------------------------------- /fs/lib/udev/rules.d/71-xpra-virtual-pointer.rules: -------------------------------------------------------------------------------- 1 | # allow xpra to use fine grained scrolling 2 | 3 | ACTION=="add|change", ATTRS{name}=="Xpra Virtual Pointer*", PROGRAM="/usr/libexec/xpra/xpra_udev_product_version", ENV{MOUSE_WHEEL_CLICK_ANGLE}="1", ENV{MOUSE_WHEEL_CLICK_COUNT}="360", MODE="0660", OWNER="%c", GROUP="xpra" 4 | ACTION=="add|change", ATTRS{name}=="Xpra Virtual Touchpad*", PROGRAM="/usr/libexec/xpra/xpra_udev_product_version", ENV{MOUSE_WHEEL_CLICK_ANGLE}="1", ENV{MOUSE_WHEEL_CLICK_COUNT}="360", MODE="0660", OWNER="%c", GROUP="xpra" 5 | -------------------------------------------------------------------------------- /fs/libexec/xpra/auth_dialog: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import sys 4 | 5 | from xpra.platform import program_context 6 | with program_context("Authentication", "Authentication"): 7 | from xpra.gtk.dialogs.auth_dialog import main 8 | sys.exit(main()) 9 | -------------------------------------------------------------------------------- /fs/libexec/xpra/gnome-open: -------------------------------------------------------------------------------- 1 | xdg-open -------------------------------------------------------------------------------- /fs/libexec/xpra/gvfs-open: -------------------------------------------------------------------------------- 1 | xdg-open -------------------------------------------------------------------------------- /fs/libexec/xpra/xpra_udev_product_version: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This file is part of Xpra. 3 | # Copyright (C) 2017 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | INPUT=`dirname ${DEVPATH}` 8 | #ie: INPUT=/devices/virtual/input/input87 9 | VERSION=`cat /sys/${INPUT}/id/version` 10 | 11 | #convert hex string to a decimal value 12 | echo $((0x${VERSION})) 13 | -------------------------------------------------------------------------------- /fs/libexec/xpra/xpra_weston_xvfb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | unset DISPLAY 4 | export WAYLAND_DISPLAY=headless-$$ 5 | weston --backend=headless-backend.so --socket=$WAYLAND_DISPLAY & 6 | xpra wait-for-wayland $WAYLAND_DISPLAY >& /dev/null 7 | Xwayland -noreset $@ 8 | -------------------------------------------------------------------------------- /fs/share/applications/xpra-gui.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Xpra 3 | Comment=Xpra GUI 4 | Exec=xpra 5 | Icon=xpra 6 | Terminal=false 7 | Type=Application 8 | StartupNotify=false 9 | Categories=Network;RemoteAccess; 10 | Keywords=screen;forwarding;client;server 11 | -------------------------------------------------------------------------------- /fs/share/applications/xpra-launcher.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Xpra Launcher 3 | Comment=Connect to an Xpra session 4 | TryExec=xpra_launcher 5 | Exec=xpra_launcher %f 6 | Icon=xpra 7 | Terminal=false 8 | NoDisplay=true 9 | Type=Application 10 | StartupNotify=false 11 | Categories=Network;RemoteAccess; 12 | MimeType=application/x-xpraconfig; 13 | Keywords=screen;forwarding;client;server 14 | -------------------------------------------------------------------------------- /fs/share/applications/xpra-shadow.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Xpra Shadow Server 3 | Comment=Start a shadow server 4 | Exec=xpra shadow --bind-tcp=0.0.0.0:0 5 | Icon=xpra-shadow 6 | Terminal=false 7 | NoDisplay=true 8 | Type=Application 9 | StartupNotify=false 10 | Categories=Network;RemoteAccess; 11 | Keywords=screen;forwarding;client;server 12 | -------------------------------------------------------------------------------- /fs/share/doc/xpra: -------------------------------------------------------------------------------- 1 | ../../../docs -------------------------------------------------------------------------------- /fs/share/gnome-shell/extensions/input-source-manager@xpra_org/metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Provide D-Bus interface for listing/activating input sources", 3 | "name": "Input Source Manager D-Bus interface", 4 | "shell-version": [ 5 | "3.32", 6 | "3.36", 7 | "3.38", 8 | "40", 9 | "41", 10 | "42", 11 | "43", 12 | "44" 13 | ], 14 | "url": "https://github.com/Xpra-org/xpra/", 15 | "uuid": "input-source-manager@xpra_org", 16 | "version": 1 17 | } 18 | -------------------------------------------------------------------------------- /fs/share/icons/xpra-mdns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/icons/xpra-mdns.png -------------------------------------------------------------------------------- /fs/share/icons/xpra-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/icons/xpra-shadow.png -------------------------------------------------------------------------------- /fs/share/icons/xpra.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/icons/xpra.icns -------------------------------------------------------------------------------- /fs/share/icons/xpra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/icons/xpra.png -------------------------------------------------------------------------------- /fs/share/mime/packages/application-x-xpraconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Xpra Session File 5 | 6 | 7 | -------------------------------------------------------------------------------- /fs/share/selinux/cups_xpra/README.TXT: -------------------------------------------------------------------------------- 1 | To compile this policy, 2 | just symlink the SELinux make file here, ie: 3 | ln -sf /usr/share/selinux/devel/Makefile ./ 4 | Then run make: 5 | make 6 | 7 | To load the policy: 8 | semodule -i cups_xpra.pp 9 | 10 | To relabel the cups backend: 11 | restorecon /usr/lib/cups/backend/xpraforwarder 12 | -------------------------------------------------------------------------------- /fs/share/selinux/cups_xpra/cups_xpra.fc: -------------------------------------------------------------------------------- 1 | /usr/lib/cups/backend/xpraforwarder -- gen_context(system_u:object_r:cups_xpra_exec_t,s0) 2 | -------------------------------------------------------------------------------- /fs/share/selinux/xpra_socketactivation/README.TXT: -------------------------------------------------------------------------------- 1 | To compile this policy, 2 | just symlink the SELinux make file here, ie: 3 | ln -sf /usr/share/selinux/devel/Makefile ./ 4 | Then run make: 5 | make 6 | 7 | To load the policy: 8 | semodule -i xpra_socketactivation.pp 9 | 10 | Assign the port: 11 | semanage port -a -t xpra_port_t -p tcp 14500 12 | 13 | 14 | To remove the policy: 15 | semanage port -d -p tcp 14500 16 | semodule -r xpra_socketactivation 17 | 18 | -------------------------------------------------------------------------------- /fs/share/xpra/autostart.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Xpra 3 | Comment=Pre-start an Xpra session 4 | Exec=xpra start --attach=yes --splash=no --opengl=nowarn 5 | Icon=xpra 6 | NoDisplay=false 7 | Type=Application 8 | StartupNotify=false 9 | Categories=Network;RemoteAccess; 10 | Keywords=X11;screen;forwarding;client;server 11 | -------------------------------------------------------------------------------- /fs/share/xpra/bell.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/bell.wav -------------------------------------------------------------------------------- /fs/share/xpra/css/10_header_bar.css: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Xpra. 3 | * Copyright (C) 2020 Antoine Martin 4 | * Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | * later version. See the file COPYING for details. 6 | * 7 | * Reduce the height of the Gtk.HeaderBar 8 | */ 9 | 10 | .titlebar, headerbar { 11 | min-height: 0px; 12 | padding: 0px; 13 | margin: 0px; 14 | } 15 | headerbar entry, 16 | headerbar spinbutton, 17 | headerbar button, 18 | headerbar separator { 19 | min-height: 0px; 20 | padding: 0px 10px; 21 | margin: 1px; 22 | } 23 | -------------------------------------------------------------------------------- /fs/share/xpra/css/20_progress_bar.css: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Xpra. 3 | * Copyright (C) 2020 Antoine Martin 4 | * Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | * later version. See the file COPYING for details. 6 | * 7 | * Make the progress bar more visible 8 | * (but we can't set the min-width this way...) 9 | */ 10 | 11 | progress, trough { 12 | min-height: 30px; 13 | } 14 | -------------------------------------------------------------------------------- /fs/share/xpra/cuda/README.md: -------------------------------------------------------------------------------- 1 | # CUDA kernels 2 | 3 | This folder contains the CUDA kernels used by xpra's nvidia codecs 4 | to handle colourspace conversion on the GPU. 5 | 6 | The "RGB to YUV" conversions use the `JPEG conversion` constants from: 7 | [ITU-R_BT.601_conversion](https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion) 8 | -------------------------------------------------------------------------------- /fs/share/xpra/icons/audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/audio.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/authentication-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/authentication-small.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/authentication.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/authentication.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/authentication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/authentication.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/bandwidth_limit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/bandwidth_limit.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/bell.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/bell.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/bell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/bell.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/browse.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/browse.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/browse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/browse.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/browser.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/bugs.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/bugs.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/bugs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/bugs.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/clipboard.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/clipboard.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/clipboard.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/close.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/compressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/compressed.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/connect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/connect.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/cross.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/cuda.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/cuda.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/cyclonedx-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/cyclonedx-small.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/cyclonedx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/cyclonedx.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/directory.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/directory.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/disconnected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/disconnected.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/display.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/display.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/documentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/documentation.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/download.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/empty.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/encoding.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/encoding.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/encoding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/encoding.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/eye-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/eye-off.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/eye-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/eye-on.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/features.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/features.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/features.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/features.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/fluxbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/fluxbox.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/font.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/font.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/font.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/forward.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/freebsd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/freebsd.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/gears.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/gears.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/gnome-session.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/gnome-session.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/gnome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/gnome.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/gstreamer.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/gstreamer.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/gstreamer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/gstreamer.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/gtk.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/gtk.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/information.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/information.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/information.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/kde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/kde.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/keyboard.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/keyboard.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/keyboard.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/keymap.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/keymap.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/linux.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/list.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/loop.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/loop.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/lxde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/lxde.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/macos.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/matchbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/matchbox.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/maximize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/maximize.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/mdns.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/mdns.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/mdns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/mdns.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/microphone.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/microphone.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/microphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/microphone.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/minimize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/minimize.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/network.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/network.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/noicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/noicon.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/nvidia.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/nvidia.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/open.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/openbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/openbox.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/openbsd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/openbsd.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/opengl.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/opengl.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/opengl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/opengl.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/package.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/package.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/picture.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/pointer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/pointer.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/printer.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/printer.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/printer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/printer.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/python.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/python.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/python.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/qr.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/quit.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/raise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/raise.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/reinitialize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/reinitialize.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/retry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/retry.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/sawfish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/sawfish.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/scaling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/scaling.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/screenshot.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/screenshot.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/screenshot.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/server-connected.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/server-connected.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/server-connected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/server-connected.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/server-notconnected.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/server-notconnected.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/server-notconnected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/server-notconnected.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/server.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/shadow.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/shutdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/shutdown.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/slider.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/speaker-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/speaker-off.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/speaker.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/speaker.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/speaker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/speaker.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/speed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/speed.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/sql.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/sql.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/sqlite.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/sqlite.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/sqlite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/sqlite.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/start.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/statistics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/statistics.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/ticked-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/ticked-small.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/ticked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/ticked.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/timer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/timer.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/toolbox.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/toolbox.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/toolbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/toolbox.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/transfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/transfer.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/transparent.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/transparent.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/transparent.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/unticked-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/unticked-small.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/unticked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/unticked.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/update.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/upload.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/user.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/video.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/webcam.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/webcam.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/webcam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/webcam.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/win32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/win32.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/windowmaker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/windowmaker.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/windows.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/xpra.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/xpra.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/xpra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/xpra.png -------------------------------------------------------------------------------- /fs/share/xpra/icons/xpra_txt.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/xpra_txt.ico -------------------------------------------------------------------------------- /fs/share/xpra/icons/xterm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/icons/xterm.png -------------------------------------------------------------------------------- /fs/share/xpra/images/gradient.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/images/gradient.webp -------------------------------------------------------------------------------- /fs/share/xpra/images/pinwheel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/images/pinwheel.jpg -------------------------------------------------------------------------------- /fs/share/xpra/images/smpte-rp-219.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/images/smpte-rp-219.png -------------------------------------------------------------------------------- /fs/share/xpra/images/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/fs/share/xpra/images/warning.png -------------------------------------------------------------------------------- /packaging/MSWindows/ALL_RELEASE_BUILDS.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | MSWINDOWS_DIR=`dirname $(readlink -f $0)` 4 | 5 | ${MSWINDOWS_DIR}/BUILD.py --light 6 | echo 7 | echo "****************************************************************" 8 | echo 9 | ${MSWINDOWS_DIR}/BUILD.py --no-light 10 | -------------------------------------------------------------------------------- /packaging/MSWindows/DirectShow.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/MSWindows/DirectShow.tlb -------------------------------------------------------------------------------- /packaging/MSWindows/TaskbarLib.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/MSWindows/TaskbarLib.tlb -------------------------------------------------------------------------------- /packaging/MSWindows/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /packaging/MSWindows/gen_win32con.py: -------------------------------------------------------------------------------- 1 | import win32con #@UnresolvedImport 2 | 3 | print("# win32 constants definitions generated using gen_win32con.py") 4 | print() 5 | for x in dir(win32con): 6 | v = getattr(win32con, x) 7 | if x.startswith("_"): 8 | continue 9 | if callable(v): 10 | continue 11 | if isinstance(v, int): 12 | print("%s=%s" % (x, v)) 13 | elif isinstance(v, str): 14 | print("%s='%s'" % (x, v)) 15 | else: 16 | print("unknown type %s=%s (%s)" % (x, v, type(v))) 17 | -------------------------------------------------------------------------------- /packaging/MSWindows/pkgconfig/cuda.pc: -------------------------------------------------------------------------------- 1 | cudaroot=./cuda 2 | libdir=${cudaroot}/bin 3 | includedir=${cudaroot}/include 4 | 5 | Name: cuda 6 | Description: CUDA Driver Library 7 | Version: 12 8 | Libs: "-L${libdir}" "-L${cudaroot}/lib/x64" -lcuda 9 | #for GCC versions 8.0 and older, add: "-Wno-error=sign-compare" 10 | Cflags: "-I${includedir}" -Wno-error=deprecated-declarations 11 | -------------------------------------------------------------------------------- /packaging/MSWindows/pkgconfig/nvdec.pc: -------------------------------------------------------------------------------- 1 | includedir=C:/msys64/mingw64/lib/nvenc12/Interface 2 | libdir=C:/msys64/mingw64/lib/nvenc12/Lib/x64 3 | 4 | Name: nvdec 5 | Description: NVDEC 6 | Version: 12 7 | Libs: -L${libdir} -lnvcuvid 8 | Cflags: -I${includedir} -Wno-deprecated-declarations 9 | -------------------------------------------------------------------------------- /packaging/MSWindows/pkgconfig/nvenc.pc: -------------------------------------------------------------------------------- 1 | libdir=C:/msys64/mingw64/lib/nvenc12/Lib/x64/ 2 | includedir=C:/msys64/mingw64/lib/nvenc12/Interface 3 | 4 | Name: nvenc 5 | Description: NVIDIA NVENC Video Encoder 6 | Version: 12 7 | Libs: -L${libdir} -lnvEncodeAPI 8 | Cflags: -I${includedir} -Wno-deprecated-declarations 9 | -------------------------------------------------------------------------------- /packaging/MSWindows/pkgconfig/nvfbc.pc: -------------------------------------------------------------------------------- 1 | sdk_path=E:/NVIDIA-Capture-SDK 2 | 3 | Name: nvfbc 4 | Description: NVFBC 5 | Version: 6.0 6 | Cflags: -I${sdk_path}/inc/ -Wno-endif-labels 7 | -------------------------------------------------------------------------------- /packaging/MSWindows/pkgconfig/nvjpeg.pc: -------------------------------------------------------------------------------- 1 | libdir=/mingw64/bin 2 | includedir=/mingw64/include 3 | 4 | Name: nvjpeg 5 | Description: Library for the nvjpeg GPU compression 6 | Version: 12 7 | Cflags: -I${includedir} -Wno-error 8 | Libs: -L${libdir} -lnvjpeg64_12 9 | -------------------------------------------------------------------------------- /packaging/MSWindows/website.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://xpra.org/ 3 | -------------------------------------------------------------------------------- /packaging/MSWindows/xpra-logo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/MSWindows/xpra-logo.bmp -------------------------------------------------------------------------------- /packaging/MSWindows/xpra.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/MSWindows/xpra.bmp -------------------------------------------------------------------------------- /packaging/MacOS/Blank.dmg.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/MacOS/Blank.dmg.bz2 -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Auth_Dialog: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.gtk.dialogs.auth_dialog import main;sys.exit(main());" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Browser: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "Xpra" -c "import sys;sys.argv[0]=\"${full_path}/$exe_name\";from xpra.client.gtk3.mdns_gui import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Bug_Report: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.scripts.bug_report import main;sys.exit(main());" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Config_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.scripts.config import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Configure: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "Xpra" -c "import sys;sys.argv[0]=\"${full_path}/$exe_name\";from xpra.gtk.configure.main import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Encoding_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.codecs.loader import main;main(sys.argv)" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Example-Colors: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.client.gtk3.example.colors import main;sys.exit(main())" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Example-Colors-Gradient: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.client.gtk3.example.colors_gradient import main;sys.exit(main())" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Example-Colors-Plain: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.client.gtk3.example.colors_plain import main;sys.exit(main())" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Example-OpenGL-Colors-Gradient: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.client.gtk3.example.gl_colors_gradient import main;sys.exit(main())" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Example-Transparent-Colors: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.client.gtk3.example.transparent_colors import main;sys.exit(main())" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Example-Transparent-Window: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.client.gtk3.example.transparent_window import main;sys.exit(main())" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Feature_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.platform.features import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/GStreamer_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.audio.gstreamer_util import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/GTK_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.scripts.gtk_info import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Keyboard_Tool: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.gtk.dialogs.view_keyboard import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Keyboard_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.platform.keyboard import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Keymap_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.gtk.keymap import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Launcher: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "Xpra" -c "import sys;sys.argv[0]=\"${full_path}/$exe_name\";from xpra.client.gtk3.launcher import main;sys.exit(main(sys.argv));" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Manual: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | #ie: APP_DIR=/Volumes/Xpra/Contents/Helpers 6 | full_path=$(cd "$(dirname "$0")"; pwd -P) 7 | #ie: APP_DIR=/Volumes/Xpra/Contents 8 | CONTENTS_DIR=`dirname "$full_path"` 9 | MANUAL="$CONTENTS_DIR/Resources/share/manual.html" 10 | 11 | if [ -e "$MANUAL" ]; then 12 | open "$MANUAL" 13 | else 14 | echo "Sorry, the manual page could not be found" 15 | echo "Opening the version found in the source repository" 16 | open "https://github.com/Xpra-org/xpra/blob/master/fs/share/man/man1/xpra.1" 17 | fi 18 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/NativeGUI_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.platform.gui import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Network_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.net.net_util import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/OpenGL_check: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.client.gl.gl_check import main;sys.exit(main())" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Path_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.platform.paths import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/PowerMonitor: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.platform.darwin.gui import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Print: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.platform.printing import main;sys.exit(main(sys.argv));" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Python: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "PythonExecWrapper" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/SQL_auth_tool: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.auth.sql_auth import main;main(sys.argv)" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/SQLite_auth_tool: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.auth.sqlite import main;main(sys.argv)" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/U2F_Tool: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.client.gtk3.u2f_tool import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Version_info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.scripts.version import main;main()" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Webcam_Test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.scripts.show_webcam import main;sys.exit(main());" "$@" 9 | -------------------------------------------------------------------------------- /packaging/MacOS/Helpers/Xpra: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #call the "Python" wrapper: 4 | exe_name=$(basename $0) 5 | full_path=$(cd "$(dirname "$0")"; pwd -P) 6 | PYTHON="$full_path/PythonExecWrapper" 7 | 8 | #parse arguments into a string: 9 | args="[\"xpra\"" 10 | while (($#)); do 11 | args="$args,\"$1\"" 12 | shift 13 | done 14 | args="$args]" 15 | 16 | exec "$PYTHON" "$exe_name" -c "import sys;sys.argv[0]=\"$full_path/$exe_name\";from xpra.scripts.main import main;sys.exit(main(sys.argv[0], $args));" 17 | -------------------------------------------------------------------------------- /packaging/MacOS/Inherit.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.inherit 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /packaging/MacOS/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/MacOS/background.png -------------------------------------------------------------------------------- /packaging/MacOS/dmg-icons/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/MacOS/dmg-icons/background.jpg -------------------------------------------------------------------------------- /packaging/MacOS/dmg-icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/MacOS/dmg-icons/icon.png -------------------------------------------------------------------------------- /packaging/MacOS/gtkrc: -------------------------------------------------------------------------------- 1 | #gtk-icon-theme-name = "Quartz" 2 | gtk-enable-mnemonics = 0 3 | -------------------------------------------------------------------------------- /packaging/MacOS/make-all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z "${CODESIGN_KEYNAME}" ]; then 4 | export CODESIGN_KEYNAME="xpra.org" 5 | fi 6 | 7 | ./make-app.sh && ./sign-app.sh && ./make-DMG.sh && ./make-PKG.sh 8 | -------------------------------------------------------------------------------- /packaging/MacOS/org.xpra.Agent.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | org.xpra.Agent 7 | Program 8 | /Applications/Xpra.app/Contents/Helpers/Shadow 9 | OnDemand 10 | 11 | 12 | -------------------------------------------------------------------------------- /packaging/MacOS/sign-app.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | APP_DIR="./image/Xpra.app" 4 | if [ "${CLIENT_ONLY}" == "1" ]; then 5 | APP_DIR="./image/Xpra-Client.app" 6 | fi 7 | 8 | if [ ! -z "${CODESIGN_KEYNAME}" ]; then 9 | echo "Signing with key '${CODESIGN_KEYNAME}'" 10 | codesign --deep --force --verify --verbose --sign "${CODESIGN_KEYNAME}" ${APP_DIR} 11 | else 12 | echo "Signing skipped (no keyname)" 13 | fi 14 | -------------------------------------------------------------------------------- /packaging/MacOS/xpra.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/MacOS/xpra.icns -------------------------------------------------------------------------------- /packaging/containers/keyboard: -------------------------------------------------------------------------------- 1 | # keyboard config 2 | 3 | XKBMODEL="pc105" 4 | XKBLAYOUT="us" 5 | XKBVARIANT="" 6 | XKBOPTIONS="" 7 | 8 | BACKSPACE="guess" 9 | -------------------------------------------------------------------------------- /packaging/containers/locale: -------------------------------------------------------------------------------- 1 | LANG="C" 2 | LANGUAGE="C" 3 | -------------------------------------------------------------------------------- /packaging/containers/mozilla-firefox: -------------------------------------------------------------------------------- 1 | Package: * 2 | Pin: release o=LP-PPA-mozillateam 3 | Pin-Priority: 1001 4 | 5 | Package: firefox 6 | Pin: version 1:1snap* 7 | Pin-Priority: -1 8 | -------------------------------------------------------------------------------- /packaging/containers/update-apps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This file is part of Xpra. 3 | # Copyright (C) 2025 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | set -e 8 | 9 | # update `apps` container: 10 | DISTRO="${DISTRO:-ubuntu}" 11 | RELEASE="${RELEASE:-plucky}" 12 | IMAGE_NAME="apps" 13 | CONTAINER="$DISTRO-$RELEASE-$IMAGE_NAME" 14 | buildah run "$CONTAINER" apt-get update 15 | buildah run "$CONTAINER" apt-get dist-upgrade -y 16 | buildah commit $CONTAINER $IMAGE_NAME 17 | -------------------------------------------------------------------------------- /packaging/containers/update-xpra.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This file is part of Xpra. 3 | # Copyright (C) 2025 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | set -e 8 | 9 | # update `xpra` container: 10 | DISTRO="${DISTRO:-fedora}" 11 | RELEASE="${RELEASE:-42}" 12 | IMAGE_NAME="xpra" 13 | CONTAINER="$DISTRO-$RELEASE-$IMAGE_NAME" 14 | IMAGE_NAME="xpra" 15 | buildah run "$CONTAINER" dnf update --refresh -y 16 | buildah commit "$CONTAINER" $IMAGE_NAME 17 | -------------------------------------------------------------------------------- /packaging/debian/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | BASH="bash -x" 4 | if [ "${DEBUG:-0}" == "1" ]; then 5 | BASH="bash -x" 6 | fi 7 | 8 | if [ `arch` == "x86_64" ]; then 9 | $BASH ./libcuda1.sh 10 | $BASH ./libnvidia-fbc1.sh 11 | fi 12 | $BASH ./xserver-xorg-video-dummy.sh 13 | $BASH ./xpra.sh 14 | $BASH ./winbar.sh 15 | -------------------------------------------------------------------------------- /packaging/debian/libcuda1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | dpkg -b libcuda1 4 | dpkg -i libcuda1.deb 5 | -------------------------------------------------------------------------------- /packaging/debian/libcuda1/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Section: misc 2 | Priority: optional 3 | Standards-Version: 3.9.2 4 | Package: libcuda1 5 | Version: 1.0 6 | Maintainer: Antoine Martin 7 | Architecture: all 8 | Multi-Arch: foreign 9 | Description: fake cuda package 10 | this allows us to install cuda using binary installers 11 | and still statisfy the 'libcuda1' package dependency 12 | -------------------------------------------------------------------------------- /packaging/debian/libnvidia-fbc1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | dpkg -b libnvidia-fbc1 4 | dpkg -i libnvidia-fbc1.deb 5 | -------------------------------------------------------------------------------- /packaging/debian/libnvidia-fbc1/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Section: misc 2 | Priority: optional 3 | Standards-Version: 3.9.2 4 | Package: libnvidia-fbc1 5 | Version: 1.0 6 | Maintainer: Antoine Martin 7 | Architecture: all 8 | Multi-Arch: foreign 9 | Description: fake fbc package 10 | this allows us to install cuda using binary installers 11 | and still statisfy the 'libnvidia-fbc1' package dependency 12 | -------------------------------------------------------------------------------- /packaging/debian/winbar/changelog: -------------------------------------------------------------------------------- 1 | winbar (1:0.2-1) UNRELEASED; urgency=low 2 | * new snapshot 3 | 4 | -- Antoine Martin Thu, 29 May 2025 14:04:03 +0700 5 | 6 | winbar (1:0.1-1) UNRELEASED; urgency=low 7 | * initial packaging 8 | 9 | -- Antoine Martin Mon, 19 May 2025 21:56:51 +0700 10 | -------------------------------------------------------------------------------- /packaging/debian/winbar/compat: -------------------------------------------------------------------------------- 1 | 10 2 | -------------------------------------------------------------------------------- /packaging/debian/winbar/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | DH_VERBOSE=1 4 | 5 | override_dh_auto_configure: 6 | sed -i "s+/usr/local/bin+/usr/bin+" CMakeLists.txt 7 | dh_auto_configure -- -DCMAKE_BUILD_TYPE=Release 8 | 9 | override_dh_auto_install: 10 | dh_auto_install 11 | unzip -o winbar.zip 12 | mkdir -p debian/winbar/usr/share/winbar debian/winbar/etc 13 | cp -R winbar/fonts winbar/resources winbar/plugins winbar/tofix.csv winbar/items_custom.ini debian/winbar/usr/share/winbar 14 | cp winbar/winbar.cfg debian/winbar/etc 15 | 16 | %: 17 | dh $@ 18 | -------------------------------------------------------------------------------- /packaging/debian/xpra/README.Debian: -------------------------------------------------------------------------------- 1 | Xdummy 2 | ------ 3 | 4 | By default, the Debian packages no longer use Xdummy. 5 | 6 | This can be changed by modifying the configuration file 7 | /etc/xpra/conf.d/55_server_x11.conf 8 | 9 | SEE ALSO 10 | 11 | https://github.com/Xpra-org/xpra/blob/master/docs/Usage/Xdummy.md 12 | 13 | DPI 14 | 15 | If -dpi argument is not given, font size may be incorrect 16 | (too big or too small) unless session is attached 17 | before starting the applications. -------------------------------------------------------------------------------- /packaging/debian/xpra/compat: -------------------------------------------------------------------------------- 1 | 10 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/patches/series: -------------------------------------------------------------------------------- 1 | pam.patch 2 | service-config.patch 3 | -------------------------------------------------------------------------------- /packaging/debian/xpra/patches/service-config.patch: -------------------------------------------------------------------------------- 1 | Index: ./packaging/debian/xpra/xpra-server.service 2 | =================================================================== 3 | --- a/packaging/debian/xpra/xpra-server.service (revision 24973) 4 | +++ b/packaging/debian/xpra/xpra-server.service (working copy) 5 | @@ -7,7 +7,7 @@ 6 | 7 | [Service] 8 | Type=simple 9 | -EnvironmentFile=-/etc/sysconfig/xpra 10 | +EnvironmentFile=-/etc/default/xpra 11 | ExecStart=/usr/bin/xpra proxy :14500 --daemon=no \ 12 | --tcp-auth=${TCP_AUTH} \ 13 | --ssl-cert=/etc/xpra/ssl-cert.pem --ssl=on \ 14 | -------------------------------------------------------------------------------- /packaging/debian/xpra/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/source/options: -------------------------------------------------------------------------------- 1 | compression = "xz" 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/watch: -------------------------------------------------------------------------------- 1 | version=3 2 | 3 | https://xpra.org/src/xpra-([0-9.]+)\.tar\.(?:bz2|xz) 4 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-audio.files: -------------------------------------------------------------------------------- 1 | etc/xpra/conf.d/20_audio.conf 2 | usr/lib/python3*/*/xpra/audio/ 3 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-audio.install: -------------------------------------------------------------------------------- 1 | usr/lib/python3*/*/xpra/audio 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-client-gnome.files: -------------------------------------------------------------------------------- 1 | usr/share/gnome-shell/extensions/input-source-manager@xpra_org/COPYING 2 | usr/share/gnome-shell/extensions/input-source-manager@xpra_org/README.md 3 | usr/share/gnome-shell/extensions/input-source-manager@xpra_org/extension.js 4 | usr/share/gnome-shell/extensions/input-source-manager@xpra_org/metadata.json 5 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-client-gtk3.files: -------------------------------------------------------------------------------- 1 | usr/bin/run_scaled 2 | usr/bin/xpra_launcher 3 | usr/lib/python3*/*/xpra/client/gui/ 4 | usr/lib/python3*/*/xpra/client/gtk3/ 5 | usr/lib/python3*/*/xpra/client/subsystem/ 6 | usr/libexec/xpra/xpra_signal_listener 7 | etc/xpra/conf.d/42_client_keyboard.conf 8 | usr/share/applications/xpra-launcher.desktop 9 | usr/share/applications/xpra-gui.desktop 10 | usr/share/applications/xpra.desktop 11 | usr/share/mime/packages/application-x-xpraconfig.xml 12 | usr/share/xpra/autostart.desktop 13 | usr/share/man/man1/run_scaled.1* 14 | usr/share/man/man1/xpra_launcher.1* 15 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-client-gtk3.lintian-overrides: -------------------------------------------------------------------------------- 1 | xpra-client-gtk3: desktop-command-not-in-package xpra [usr/share/applications/xpra-gui.desktop] 2 | xpra-client-gtk3: desktop-command-not-in-package xpra [usr/share/applications/xpra.desktop] 3 | xpra-client-gtk3: missing-dependency-on-libc 4 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-client-qt6.files: -------------------------------------------------------------------------------- 1 | usr/lib/python3*/*/xpra/client/qt6/ 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-client.files: -------------------------------------------------------------------------------- 1 | usr/lib/python3*/*/xpra/client/base/ 2 | usr/lib/python3*/*/xpra/client/__init__.py 3 | etc/xpra/conf.d/40_client.conf 4 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-client.manpages: -------------------------------------------------------------------------------- 1 | debian/tmp/usr/share/man/man1/xpra_launcher.1 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-codecs-amd.files: -------------------------------------------------------------------------------- 1 | usr/lib/python3*/*/xpra/codecs/amf 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-codecs-amd.lintian-overrides: -------------------------------------------------------------------------------- 1 | xpra-codecs-amd: missing-dependency-on-libc 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-codecs-extras.files: -------------------------------------------------------------------------------- 1 | usr/lib/python3*/*/xpra/codecs/avif 2 | usr/lib/python3*/*/xpra/codecs/ffmpeg 3 | usr/lib/python3*/*/xpra/codecs/x26? 4 | usr/lib/python3*/*/xpra/codecs/gstreamer 5 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-codecs-extras.lintian-overrides: -------------------------------------------------------------------------------- 1 | xpra-codecs-extras: missing-dependency-on-libc 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-codecs-nvidia.files: -------------------------------------------------------------------------------- 1 | usr/share/xpra/cuda 2 | #etc/xpra/cuda.conf 3 | usr/lib/python3*/*/xpra/codecs/nvidia 4 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-codecs-nvidia.lintian-overrides: -------------------------------------------------------------------------------- 1 | xpra-codecs-nvidia: missing-dependency-on-libc 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-codecs.files: -------------------------------------------------------------------------------- 1 | usr/lib/python3*/*/xpra/codecs/drm 2 | usr/lib/python3*/*/xpra/codecs/evdi 3 | usr/lib/python3*/*/xpra/codecs/jpeg 4 | usr/lib/python3*/*/xpra/codecs/x264 5 | usr/lib/python3*/*/xpra/codecs/openh264 6 | usr/lib/python3*/*/xpra/codecs/libyuv 7 | usr/lib/python3*/*/xpra/codecs/spng 8 | usr/lib/python3*/*/xpra/codecs/v4l2 9 | usr/lib/python3*/*/xpra/codecs/vpx 10 | usr/lib/python3*/*/xpra/codecs/webp 11 | usr/lib/python3*/*/xpra/codecs/csc_cython 12 | usr/lib/python3*/*/xpra/codecs/remote 13 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-common.docs: -------------------------------------------------------------------------------- 1 | README.md 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-common.links: -------------------------------------------------------------------------------- 1 | /usr/share/xpra/icons/xpra.png /usr/share/icons/xpra.png 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-common.manpages: -------------------------------------------------------------------------------- 1 | debian/tmp/usr/share/man/man1/xpra.1 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-server.postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | case "${1}" in 6 | configure) 7 | if ! getent group xpra >> /dev/null 2>&1; then 8 | addgroup --quiet --system xpra 9 | fi 10 | ;; 11 | esac 12 | 13 | xpra setup-ssl > /dev/null 14 | 15 | #DEBHELPER# 16 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-server.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | case "${1}" in 6 | purge|remove) 7 | if [ -x "$(command -v delgroup)" ]; then 8 | delgroup --quiet --system --only-if-empty xpra || true 9 | fi 10 | ;; 11 | esac 12 | 13 | #DEBHELPER# 14 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-server.socket: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Xpra Socket 3 | PartOf=xpra.service 4 | 5 | [Socket] 6 | #this doesn't work because of SELinux AVC denials: 7 | ListenStream=14500 8 | ListenStream=/run/xpra/system 9 | #this is not handled yet: 10 | #ListenStream=vsock:x:y 11 | SocketUser=root 12 | SocketGroup=xpra 13 | PassCredentials=true 14 | 15 | [Install] 16 | WantedBy=sockets.target 17 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra-x11.files: -------------------------------------------------------------------------------- 1 | usr/lib/python3*/*/xpra/x11/ 2 | -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra.files: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/debian/xpra/xpra.files -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra.install: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/packaging/debian/xpra/xpra.install -------------------------------------------------------------------------------- /packaging/debian/xpra/xpra.lintian-overrides: -------------------------------------------------------------------------------- 1 | xpra: empty-binary-package 2 | -------------------------------------------------------------------------------- /packaging/debian/xserver-xorg-video-dummy/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /packaging/debian/xserver-xorg-video-dummy/patches/series: -------------------------------------------------------------------------------- 1 | 0002-Constant-DPI.patch 2 | 0006-Dummy-Disconnect.patch -------------------------------------------------------------------------------- /packaging/debian/xserver-xorg-video-dummy/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | override_dh_auto_configure: 4 | dh_auto_configure -- \ 5 | --libdir=\$${exec_prefix}/lib 6 | 7 | # That's a plugin, use appropriate warning level: 8 | override_dh_shlibdeps: 9 | dh_shlibdeps -- --warnings=6 10 | 11 | %: 12 | dh $@ --with autoreconf,quilt,xsf --builddirectory=build/ 13 | -------------------------------------------------------------------------------- /packaging/repos/CentOS-Stream/xpra-beta.repo: -------------------------------------------------------------------------------- 1 | [xpra-beta] 2 | name=Xpra Beta $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/beta/CentOS/stream$releasever/$basearch/ 8 | skip_if_unavailable = 1 9 | -------------------------------------------------------------------------------- /packaging/repos/CentOS-Stream/xpra-lts.repo: -------------------------------------------------------------------------------- 1 | [xpra-lts] 2 | name=Xpra LTS $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/lts/CentOS/stream$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/CentOS-Stream/xpra.repo: -------------------------------------------------------------------------------- 1 | [xpra] 2 | name=Xpra $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/stable/CentOS/stream$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/CentOS/7/xpra-beta.repo: -------------------------------------------------------------------------------- 1 | [xpra-beta] 2 | name=Xpra Beta $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/beta/CentOS/$releasever/$basearch/ 8 | skip_if_unavailable = 1 9 | -------------------------------------------------------------------------------- /packaging/repos/CentOS/7/xpra.repo: -------------------------------------------------------------------------------- 1 | [xpra] 2 | name=Xpra $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/stable/CentOS/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/CentOS/8/xpra-beta.repo: -------------------------------------------------------------------------------- 1 | [xpra-beta] 2 | name=Xpra Beta $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/beta/CentOS/$releasever/$basearch/ 8 | skip_if_unavailable = 1 9 | -------------------------------------------------------------------------------- /packaging/repos/CentOS/8/xpra-lts.repo: -------------------------------------------------------------------------------- 1 | [xpra-lts] 2 | name=Xpra LTS $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/lts/CentOS/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/CentOS/8/xpra.repo: -------------------------------------------------------------------------------- 1 | [xpra] 2 | name=Xpra $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/stable/CentOS/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/CentOS/9/xpra-beta.repo: -------------------------------------------------------------------------------- 1 | [xpra-beta] 2 | name=Xpra Beta $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/beta/CentOS/$releasever/$basearch/ 8 | skip_if_unavailable = 1 9 | -------------------------------------------------------------------------------- /packaging/repos/CentOS/9/xpra-lts.repo: -------------------------------------------------------------------------------- 1 | [xpra-lts] 2 | name=Xpra LTS $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/lts/CentOS/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/CentOS/9/xpra.repo: -------------------------------------------------------------------------------- 1 | [xpra] 2 | name=Xpra $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/stable/CentOS/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/Fedora/xpra-beta.repo: -------------------------------------------------------------------------------- 1 | [xpra-beta] 2 | name=Xpra Beta $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/beta/Fedora/$releasever/$basearch/ 8 | skip_if_unavailable = 1 9 | -------------------------------------------------------------------------------- /packaging/repos/Fedora/xpra-lts.repo: -------------------------------------------------------------------------------- 1 | [xpra-lts] 2 | name=Xpra LTS $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/lts/Fedora/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/Fedora/xpra.repo: -------------------------------------------------------------------------------- 1 | [xpra] 2 | name=Xpra $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/xpra.asc 7 | baseurl=https://xpra.org/stable/Fedora/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/almalinux/xpra-beta.repo: -------------------------------------------------------------------------------- 1 | [xpra-beta] 2 | name=Xpra Beta $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/gpg.asc 7 | baseurl=https://xpra.org/beta/almalinux/$releasever/$basearch/ 8 | skip_if_unavailable = 1 9 | -------------------------------------------------------------------------------- /packaging/repos/almalinux/xpra-lts.repo: -------------------------------------------------------------------------------- 1 | [xpra] 2 | name=Xpra LTS $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/gpg.asc 7 | baseurl=https://xpra.org/lts/almalinux/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/almalinux/xpra.repo: -------------------------------------------------------------------------------- 1 | [xpra] 2 | name=Xpra $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/gpg.asc 7 | baseurl=https://xpra.org/stable/almalinux/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/bionic/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/beta/ bionic main 2 | -------------------------------------------------------------------------------- /packaging/repos/bionic/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: bionic 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/bionic/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/lts/ bionic main 2 | -------------------------------------------------------------------------------- /packaging/repos/bionic/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: bionic 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/bionic/xpra.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/ bionic main 2 | -------------------------------------------------------------------------------- /packaging/repos/bionic/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: bionic 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/bookworm/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ bookworm main 2 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/beta/ bookworm main 3 | -------------------------------------------------------------------------------- /packaging/repos/bookworm/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: bookworm 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/bookworm/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/lts/ bookworm main 2 | -------------------------------------------------------------------------------- /packaging/repos/bookworm/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: bookworm 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/bookworm/xpra.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ bookworm main 2 | -------------------------------------------------------------------------------- /packaging/repos/bookworm/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: bookworm 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/bullseye/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ bullseye main 2 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/beta/ bullseye main 3 | -------------------------------------------------------------------------------- /packaging/repos/bullseye/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: bullseye 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/bullseye/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/lts/ bullseye main 2 | -------------------------------------------------------------------------------- /packaging/repos/bullseye/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: bullseye 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/bullseye/xpra.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ bullseye main 2 | -------------------------------------------------------------------------------- /packaging/repos/bullseye/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: bullseye 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/focal/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ focal main 2 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/beta/ focal main 3 | -------------------------------------------------------------------------------- /packaging/repos/focal/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: focal 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/focal/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/lts/ focal main 2 | -------------------------------------------------------------------------------- /packaging/repos/focal/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: focal 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/focal/xpra.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ focal main 2 | -------------------------------------------------------------------------------- /packaging/repos/focal/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: focal 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/jammy/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ jammy main 2 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/beta/ jammy main 3 | -------------------------------------------------------------------------------- /packaging/repos/jammy/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: jammy 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/jammy/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/lts/ jammy main 2 | -------------------------------------------------------------------------------- /packaging/repos/jammy/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: jammy 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/jammy/xpra.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ jammy main 2 | -------------------------------------------------------------------------------- /packaging/repos/jammy/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: jammy 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/noble/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/ noble main 2 | deb https://xpra.org/beta/ noble main 3 | -------------------------------------------------------------------------------- /packaging/repos/noble/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: noble 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/noble/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/lts/ noble main 2 | -------------------------------------------------------------------------------- /packaging/repos/noble/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: noble 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/noble/xpra.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/ noble main 2 | -------------------------------------------------------------------------------- /packaging/repos/noble/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: noble 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/oraclelinux/xpra-beta.repo: -------------------------------------------------------------------------------- 1 | [xpra-beta] 2 | name=Xpra Beta $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/gpg.asc 7 | baseurl=https://xpra.org/beta/oraclelinux/$releasever/$basearch/ 8 | skip_if_unavailable = 1 9 | -------------------------------------------------------------------------------- /packaging/repos/oraclelinux/xpra-lts.repo: -------------------------------------------------------------------------------- 1 | [xpra-lts] 2 | name=Xpra LTS $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/gpg.asc 7 | baseurl=https://xpra.org/lts/oraclelinux/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/oraclelinux/xpra.repo: -------------------------------------------------------------------------------- 1 | [xpra] 2 | name=Xpra $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/gpg.asc 7 | baseurl=https://xpra.org/stable/oraclelinux/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/oracular/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/ oracular main 2 | deb https://xpra.org/beta/ oracular main 3 | -------------------------------------------------------------------------------- /packaging/repos/oracular/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: oracular 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/oracular/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/lts/ oracular main 2 | -------------------------------------------------------------------------------- /packaging/repos/oracular/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: oracular 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/oracular/xpra.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/ oracular main 2 | -------------------------------------------------------------------------------- /packaging/repos/oracular/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: oracular 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/plucky/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/ plucky main 2 | deb https://xpra.org/beta/ plucky main 3 | -------------------------------------------------------------------------------- /packaging/repos/plucky/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: plucky 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/plucky/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/lts/ plucky main 2 | -------------------------------------------------------------------------------- /packaging/repos/plucky/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: plucky 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/plucky/xpra.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/ plucky main 2 | -------------------------------------------------------------------------------- /packaging/repos/plucky/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: plucky 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/rockylinux/xpra-beta.repo: -------------------------------------------------------------------------------- 1 | [xpra-beta] 2 | name=Xpra Beta $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/gpg.asc 7 | baseurl=https://xpra.org/beta/rockylinux/$releasever/$basearch/ 8 | skip_if_unavailable = 1 9 | -------------------------------------------------------------------------------- /packaging/repos/rockylinux/xpra-lts.repo: -------------------------------------------------------------------------------- 1 | [xpra-lts] 2 | name=Xpra LTS $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/gpg.asc 7 | baseurl=https://xpra.org/lts/rockylinux/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/rockylinux/xpra.repo: -------------------------------------------------------------------------------- 1 | [xpra] 2 | name=Xpra $releasever - $basearch 3 | enabled=1 4 | metadata_expire=1d 5 | gpgcheck=1 6 | gpgkey=https://xpra.org/gpg.asc 7 | baseurl=https://xpra.org/stable/rockylinux/$releasever/$basearch/ 8 | -------------------------------------------------------------------------------- /packaging/repos/sid/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ sid main 2 | deb [arch=amd64,arm64,riscv64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/beta/ sid main 3 | -------------------------------------------------------------------------------- /packaging/repos/sid/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: sid 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 riscv64 7 | -------------------------------------------------------------------------------- /packaging/repos/sid/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64,riscv64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/lts/ sid main 2 | -------------------------------------------------------------------------------- /packaging/repos/sid/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: sid 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 riscv64 7 | -------------------------------------------------------------------------------- /packaging/repos/sid/xpra.list: -------------------------------------------------------------------------------- 1 | deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ sid main 2 | -------------------------------------------------------------------------------- /packaging/repos/sid/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: sid 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 riscv64 7 | -------------------------------------------------------------------------------- /packaging/repos/trixie/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/beta/ trixie main 2 | -------------------------------------------------------------------------------- /packaging/repos/trixie/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: trixie 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/trixie/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/lts/ trixie main 2 | -------------------------------------------------------------------------------- /packaging/repos/trixie/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: trixie 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/trixie/xpra.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/ trixie main 2 | -------------------------------------------------------------------------------- /packaging/repos/trixie/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: trixie 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/xenial/xpra-beta.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/beta/ xenial main 2 | -------------------------------------------------------------------------------- /packaging/repos/xenial/xpra-beta.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/beta 3 | Suites: xenial 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/xenial/xpra-lts.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/lts/ xenial main 2 | -------------------------------------------------------------------------------- /packaging/repos/xenial/xpra-lts.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org/lts 3 | Suites: xenial 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/repos/xenial/xpra.list: -------------------------------------------------------------------------------- 1 | deb https://xpra.org/ xenial main 2 | -------------------------------------------------------------------------------- /packaging/repos/xenial/xpra.sources: -------------------------------------------------------------------------------- 1 | Types: deb 2 | URIs: https://xpra.org 3 | Suites: xenial 4 | Components: main 5 | Signed-By: /usr/share/keyrings/xpra.asc 6 | Architectures: amd64 arm64 7 | -------------------------------------------------------------------------------- /packaging/rpm/distros/almalinux-10-kitten.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | gstreamer1-plugin-timestamp 3 | libyuv 4 | openh264 5 | winbar 6 | 7 | 8 | # default python: 9 | python3-cython 10 | python3-pycuda 11 | python3-pynvml 12 | python3-pyu2f 13 | python3-uinput 14 | python3-cairo 15 | python3-wheel 16 | python3-pylsqpack 17 | python3-aioquic 18 | python3-pyopengl 19 | xpra 20 | -------------------------------------------------------------------------------- /packaging/rpm/distros/almalinux-9.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | libyuv 5 | openh264 6 | winbar 7 | 8 | 9 | PYTHON3=python3.12 10 | python3-setuptools 11 | python3-cython 12 | python3-numpy 13 | python3-pycuda 14 | python3-pillow 15 | python3-pynvml 16 | python3-pyu2f 17 | python3-uinput 18 | python3-dbus 19 | python3-pyxdg 20 | python3-wheel 21 | python3-pylsqpack 22 | python3-aioquic 23 | python3-pyopengl 24 | python3-cairo 25 | pygobject3 26 | xpra 27 | -------------------------------------------------------------------------------- /packaging/rpm/distros/almalinux.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | libyuv 5 | openh264 6 | winbar 7 | 8 | 9 | PYTHON3=python3.11 10 | python3-setuptools 11 | python3-cython 12 | python3-numpy 13 | python3-pycuda 14 | python3-pillow 15 | python3-pynvml 16 | python3-pyu2f 17 | python3-uinput 18 | python3-dbus 19 | python3-pyxdg 20 | python3-wheel 21 | python3-pylsqpack 22 | python3-aioquic 23 | python3-pyopengl 24 | python3-cairo 25 | pygobject3 26 | xpra 27 | -------------------------------------------------------------------------------- /packaging/rpm/distros/arm64.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | openh264 5 | winbar 6 | 7 | 8 | # default python: 9 | python3-pycuda 10 | python3-pynvml 11 | python3-pyu2f 12 | python3-uinput 13 | python3-wheel 14 | python3-pylsqpack 15 | python3-aioquic 16 | xpra 17 | -------------------------------------------------------------------------------- /packaging/rpm/distros/centos-stream10-development.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | gstreamer1-plugin-timestamp 3 | libyuv 4 | openh264 5 | winbar 6 | 7 | 8 | # default python: 9 | python3-cython 10 | python3-pycuda 11 | python3-pynvml 12 | python3-pyu2f 13 | python3-uinput 14 | python3-cairo 15 | python3-wheel 16 | python3-pylsqpack 17 | python3-aioquic 18 | xpra 19 | -------------------------------------------------------------------------------- /packaging/rpm/distros/centos-stream10.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | gstreamer1-plugin-timestamp 3 | libyuv 4 | openh264 5 | winbar 6 | 7 | 8 | # default python: 9 | python3-cython 10 | python3-pycuda 11 | python3-pynvml 12 | python3-pyu2f 13 | python3-uinput 14 | python3-cairo 15 | python3-wheel 16 | python3-pylsqpack 17 | python3-aioquic 18 | python3-pyopengl 19 | xpra 20 | -------------------------------------------------------------------------------- /packaging/rpm/distros/centos-stream9-arm64.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | libyuv 5 | openh264 6 | winbar 7 | 8 | 9 | PYTHON3=python3.12 10 | python3-setuptools 11 | python3-cython 12 | python3-pillow 13 | python3-pyu2f 14 | python3-uinput 15 | python3-dbus 16 | python3-pyxdg 17 | python3-wheel 18 | python3-pylsqpack 19 | python3-aioquic 20 | python3-pyopengl 21 | python3-cairo 22 | pygobject3 23 | xpra 24 | -------------------------------------------------------------------------------- /packaging/rpm/distros/centos.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | libyuv 5 | openh264 6 | winbar 7 | 8 | 9 | PYTHON3=python3.11 10 | python3-setuptools 11 | python3-cython 12 | python3-numpy 13 | python3-pycuda 14 | python3-pillow 15 | python3-pynvml 16 | python3-pyu2f 17 | python3-uinput 18 | python3-dbus 19 | python3-pyxdg 20 | python3-wheel 21 | python3-pylsqpack 22 | python3-aioquic 23 | python3-pyopengl 24 | python3-cairo 25 | pygobject3 26 | xpra 27 | -------------------------------------------------------------------------------- /packaging/rpm/distros/default.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | openh264 5 | winbar 6 | 7 | 8 | # default python: 9 | python3-pycuda 10 | python3-pynvml 11 | python3-pyu2f 12 | python3-uinput 13 | python3-wheel 14 | python3-pylsqpack 15 | python3-aioquic 16 | Xpra 17 | -------------------------------------------------------------------------------- /packaging/rpm/distros/fedora-41.list: -------------------------------------------------------------------------------- 1 | # default python3: 2 | fake-cuda 3 | xorg-x11-drv-dummy 4 | gstreamer1-plugin-timestamp 5 | winbar 6 | 7 | 8 | # default python: 9 | python3-cython 10 | python3-pycuda 11 | python3-pynvml 12 | python3-pyu2f 13 | python3-uinput 14 | python3-pylsqpack 15 | python3-aioquic 16 | python3-pyopengl 17 | xpra 18 | -------------------------------------------------------------------------------- /packaging/rpm/distros/oraclelinux-9.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | libyuv 5 | nasm 6 | openh264 7 | winbar 8 | 9 | 10 | PYTHON3=python3.12 11 | python3-setuptools 12 | python3-cython 13 | python3-numpy 14 | python3-pycuda 15 | python3-pillow 16 | python3-pynvml 17 | python3-pyu2f 18 | python3-uinput 19 | python3-wheel 20 | python3-dbus 21 | python3-pyxdg 22 | python3-pylsqpack 23 | python3-aioquic 24 | python3-pyopengl 25 | python3-cairo 26 | pygobject3 27 | xpra 28 | -------------------------------------------------------------------------------- /packaging/rpm/distros/oraclelinux.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | libyuv 5 | nasm 6 | openh264 7 | winbar 8 | 9 | 10 | PYTHON3=python3.11 11 | python3-setuptools 12 | python3-cython 13 | python3-numpy 14 | python3-pycuda 15 | python3-pillow 16 | python3-pynvml 17 | python3-pyu2f 18 | python3-uinput 19 | python3-wheel 20 | python3-dbus 21 | python3-pyxdg 22 | python3-pylsqpack 23 | python3-aioquic 24 | python3-pyopengl 25 | python3-cairo 26 | pygobject3 27 | xpra 28 | -------------------------------------------------------------------------------- /packaging/rpm/distros/riscv64.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | winbar 5 | 6 | 7 | # default python: 8 | python3-pyu2f 9 | python3-uinput 10 | python3-wheel 11 | python3-pylsqpack 12 | python3-aioquic 13 | xpra 14 | -------------------------------------------------------------------------------- /packaging/rpm/distros/rockylinux-9.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | libyuv 5 | openh264 6 | winbar 7 | 8 | 9 | PYTHON3=python3.12 10 | python3-setuptools 11 | python3-cython 12 | python3-numpy 13 | python3-pycuda 14 | python3-pillow 15 | python3-pynvml 16 | python3-pyu2f 17 | python3-uinput 18 | python3-dbus 19 | python3-pyxdg 20 | python3-wheel 21 | python3-pylsqpack 22 | python3-aioquic 23 | python3-pyopengl 24 | python3-cairo 25 | pygobject3 26 | xpra 27 | -------------------------------------------------------------------------------- /packaging/rpm/distros/rockylinux.list: -------------------------------------------------------------------------------- 1 | fake-cuda 2 | xorg-x11-drv-dummy 3 | gstreamer1-plugin-timestamp 4 | libyuv 5 | openh264 6 | winbar 7 | 8 | 9 | PYTHON3=python3.11 10 | python3-setuptools 11 | python3-cython 12 | python3-numpy 13 | python3-pycuda 14 | python3-pillow 15 | python3-pynvml 16 | python3-pyu2f 17 | python3-uinput 18 | python3-dbus 19 | python3-pyxdg 20 | python3-wheel 21 | python3-pylsqpack 22 | python3-aioquic 23 | python3-pyopengl 24 | python3-cairo 25 | pygobject3 26 | xpra 27 | -------------------------------------------------------------------------------- /packaging/rpm/fake-cuda.spec: -------------------------------------------------------------------------------- 1 | Name: fake-cuda 2 | Release: 1 3 | Summary: Fake CUDA RPM 4 | License: none 5 | Version: 1.0 6 | Provides: cuda 7 | Conflicts: cuda 8 | 9 | %description 10 | A Fake CUDA RPM do allow us to build python-pycuda against non-RPM versions of CUDA. 11 | 12 | %files 13 | 14 | %changelog 15 | * Fri Sep 30 2022 Antoine Martin 1.0-1 16 | - fake changelog entry to fix build warnings 17 | -------------------------------------------------------------------------------- /packaging/rpm/patches/pyopengl-py3.13-nonumpy.patch: -------------------------------------------------------------------------------- 1 | --- a/setup.py 2024-06-13 21:10:17.429866015 +0700 2 | +++ b/setup.py 2024-06-13 21:10:41.883706396 +0700 3 | @@ -62,7 +62,7 @@ 4 | ) 5 | 6 | try: 7 | - import numpy 8 | + import numpyZZ 9 | except ImportError: 10 | sys.stderr.write("""Unable to import numpy, skipping numpy extension building\n""") 11 | else: 12 | -------------------------------------------------------------------------------- /packaging/target-repository: -------------------------------------------------------------------------------- 1 | beta 2 | -------------------------------------------------------------------------------- /sonar-project.properties: -------------------------------------------------------------------------------- 1 | sonar.projectKey=Xpra 2 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2012 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2012 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/scripts/cProfile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import sys 4 | import xpra.scripts.main 5 | 6 | import cProfile 7 | def main(): 8 | xpra.scripts.main.main(__file__, sys.argv) 9 | 10 | cProfile.run("main()", "profile.stats") 11 | 12 | import pstats 13 | p = pstats.Stats("profile.stats") 14 | 15 | p.sort_stats('time').print_stats() 16 | -------------------------------------------------------------------------------- /tests/test-images/test-odd-both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/tests/test-images/test-odd-both.png -------------------------------------------------------------------------------- /tests/test-images/test-odd-height.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/tests/test-images/test-odd-height.png -------------------------------------------------------------------------------- /tests/test-images/test-odd-width.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/tests/test-images/test-odd-width.png -------------------------------------------------------------------------------- /tests/test-images/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/tests/test-images/test.png -------------------------------------------------------------------------------- /tests/unittests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2014 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/audio/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2020 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/client/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2016 Antoine Martin 4 | 5 | import gi 6 | gi.require_version('Gdk', '3.0') # @UndefinedVariable 7 | gi.require_version('Gtk', '3.0') # @UndefinedVariable 8 | -------------------------------------------------------------------------------- /tests/unittests/unit/client/subsystem/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2019 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/codecs/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2015 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/dbus/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2020 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/gtk_common/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2020 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/net/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2014 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/net/rfb/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2020 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/notifications/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2020 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/platformtests/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2020 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2020 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/server/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2014 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/server/source/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2019 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/server/subsystem/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2018 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/server/window/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2020 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/unittests/unit/x11/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2015 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/xpra/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2012 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/xpra/clients/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2012 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/xpra/codecs/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2021 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/xpra/keyboard/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2012 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/xpra/keyboard/test_x11keycodes_down.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2011 Antoine Martin 4 | 5 | import time 6 | from xpra.x11.gtk.display_source import init_gdk_display_source 7 | 8 | init_gdk_display_source() 9 | from xpra.x11.bindings.keyboard import X11KeyboardBindings 10 | 11 | keyboard_bindings = X11KeyboardBindings() 12 | 13 | 14 | def main(): 15 | while True: 16 | down = keyboard_bindings.get_keycodes_down() 17 | print("down=%s" % down) 18 | time.sleep(1) 19 | 20 | 21 | if __name__ == "__main__": 22 | main() 23 | -------------------------------------------------------------------------------- /tests/xpra/net/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2012 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/xpra/server/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2014 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/xpra/server/test_open_display.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2015 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | from xpra.x11.bindings.wait_for_x_server import wait_for_x_server #@UnresolvedImport 8 | import os 9 | 10 | wait_for_x_server(os.environ.get("DISPLAY", ":0"), 5) 11 | -------------------------------------------------------------------------------- /tests/xpra/test_apps/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2012 Antoine Martin 4 | -------------------------------------------------------------------------------- /tests/xpra/test_apps/test_window_iconify.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import gi 4 | gi.require_version('Gtk', '3.0') # @UndefinedVariable 5 | from gi.repository import Gtk, GLib #pylint: disable=wrong-import-position @UnresolvedImport 6 | 7 | def main(): 8 | window = Gtk.Window(type=Gtk.WindowType.TOPLEVEL) 9 | window.set_size_request(400, 200) 10 | window.connect("delete_event", Gtk.main_quit) 11 | window.iconify() 12 | GLib.timeout_add(2000, window.deiconify) 13 | Gtk.main() 14 | return 0 15 | 16 | 17 | if __name__ == "__main__": 18 | main() 19 | -------------------------------------------------------------------------------- /tests/xpra/x11/print_xpra_props.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2012 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from xpra.x11.gtk import gdk_display_source 7 | 8 | gdk_display_source.init_gdk_display_source() 9 | 10 | from xpra.x11.bindings.window import X11WindowBindings 11 | 12 | X11Window = X11WindowBindings() 13 | 14 | from xpra.x11.server.server_uuid import get_mode, get_uuid 15 | 16 | print(f"mode={get_mode()}") 17 | print(f"uuid={get_uuid()}") 18 | -------------------------------------------------------------------------------- /xpra/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2008 Nathaniel Smith 3 | # Copyright (C) 2009 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | __version_info__ = (6, 4) 8 | __version__ = "6.4" 9 | -------------------------------------------------------------------------------- /xpra/audio/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2010 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | -------------------------------------------------------------------------------- /xpra/audio/pulseaudio/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2010 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | -------------------------------------------------------------------------------- /xpra/auth/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2013 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | -------------------------------------------------------------------------------- /xpra/auth/allow.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from xpra.auth.sys_auth_base import SysAuthenticator 7 | from xpra.util.objects import typedict 8 | 9 | 10 | class Authenticator(SysAuthenticator): 11 | 12 | def __repr__(self): 13 | return "allow" 14 | 15 | def get_password(self) -> str: 16 | return "" 17 | 18 | def authenticate(self, _caps: typedict) -> bool: 19 | return True 20 | -------------------------------------------------------------------------------- /xpra/auth/fail.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2014 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | 7 | class Authenticator: 8 | def __init__(self, **kwargs): 9 | raise RuntimeError("failing") 10 | -------------------------------------------------------------------------------- /xpra/buffers/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2014 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/buffers/cityhash.pxd: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2024 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from libc.stdint cimport uint64_t, uint8_t 7 | 8 | ctypedef unsigned int size_t 9 | 10 | cdef uint64_t cityhash64(uint8_t *data, size_t length) noexcept nogil 11 | -------------------------------------------------------------------------------- /xpra/buffers/memalign.h: -------------------------------------------------------------------------------- 1 | /* This file is part of Xpra. 2 | * Copyright (C) 2012 Antoine Martin 3 | * Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | * later version. See the file COPYING for details. 5 | */ 6 | 7 | #include 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | //not honoured on OSX: (*must* be a power of 2!) 14 | #define MEMALIGN_ALIGNMENT 64 15 | 16 | void *xmemalign(size_t size); 17 | int pad(int size); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | -------------------------------------------------------------------------------- /xpra/buffers/xxh.pxd: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2015 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from libc.stdint cimport uint64_t 7 | 8 | cdef uint64_t xxh3(const void* input, size_t length) noexcept nogil 9 | -------------------------------------------------------------------------------- /xpra/challenge/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2019 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/challenge/handler.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2024 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from abc import ABCMeta, abstractmethod 7 | 8 | 9 | class AuthenticationHandler(metaclass=ABCMeta): 10 | 11 | @abstractmethod 12 | def get_digest(self) -> str: 13 | raise NotImplementedError() 14 | 15 | @abstractmethod 16 | def handle(self, challenge: bytes, digest: str, prompt: str): 17 | raise NotImplementedError() 18 | -------------------------------------------------------------------------------- /xpra/client/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/client/base/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2018 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/client/gtk3/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | import gi 7 | gi.require_version("Gtk", "3.0") # @UndefinedVariable 8 | gi.require_version("Gdk", "3.0") # @UndefinedVariable 9 | -------------------------------------------------------------------------------- /xpra/client/gtk3/opengl/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2014 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/client/gtk3/window/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/client/gtk3/window/__init__.py -------------------------------------------------------------------------------- /xpra/client/gui/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2023 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/client/pyglet/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/client/pyglet/__init__.py -------------------------------------------------------------------------------- /xpra/client/pyglet/keys.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2025 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | from pyglet.window import key 8 | 9 | 10 | keynames = {} 11 | for attr in dir(key): 12 | if attr.startswith("_") or not attr.isupper(): 13 | continue 14 | value = getattr(key, attr) 15 | keynames[value] = attr 16 | -------------------------------------------------------------------------------- /xpra/client/qt6/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/client/qt6/__init__.py -------------------------------------------------------------------------------- /xpra/client/qt6/keys.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2024 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from PyQt6.QtCore import Qt 7 | 8 | key_names: dict[Qt.Key, str] = {} 9 | 10 | for attr in dir(Qt.Key): 11 | if attr.startswith("Key_"): 12 | key_enum = getattr(Qt.Key, attr) 13 | key_names[key_enum] = attr[4:] 14 | -------------------------------------------------------------------------------- /xpra/client/subsystem/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2018 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/client/tk/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/client/tk/__init__.py -------------------------------------------------------------------------------- /xpra/clipboard/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/amf/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/codecs/amf/__init__.py -------------------------------------------------------------------------------- /xpra/codecs/argb/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2008 Nathaniel Smith 3 | # Copyright (C) 2013 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | -------------------------------------------------------------------------------- /xpra/codecs/avif/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/csc_cython/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/drm/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/evdi/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/gstreamer/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/jpeg/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2017 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/libyuv/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2012 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/nvidia/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2014 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/nvidia/cuda/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2014 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/nvidia/nvdec/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/nvidia/nvenc/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2015 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/nvidia/nvfbc/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2017 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/nvidia/nvjpeg/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2021 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/openh264/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/proxy/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2014 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/remote/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2025 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/spng/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2021 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/v4l2/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2016 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/v4l2/video.h: -------------------------------------------------------------------------------- 1 | // This file is part of Xpra. 2 | // Copyright (C) 2016 Antoine Martin 3 | // Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | // later version. See the file COPYING for details. 5 | 6 | #ifdef __NetBSD__ 7 | #include 8 | #endif 9 | #ifdef __linux__ 10 | #include "linux/videodev2.h" 11 | #endif 12 | -------------------------------------------------------------------------------- /xpra/codecs/vpx/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2012 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/webp/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2014 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/codecs/x264/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2012 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/dbus/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2015 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/gstreamer/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2023 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/gtk/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/gtk/bindings/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2017 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/gtk/configure/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2023 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/gtk/dialogs/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2023 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/gtk/examples/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2017 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/gtk/gobject.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2012 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from xpra.os_util import gi_import 7 | 8 | GObject = gi_import("GObject") 9 | 10 | 11 | def n_arg_signal(n: int) -> tuple: 12 | return GObject.SignalFlags.RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_PYOBJECT,) * n 13 | 14 | 15 | no_arg_signal = n_arg_signal(0) 16 | one_arg_signal = n_arg_signal(1) 17 | -------------------------------------------------------------------------------- /xpra/keyboard/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/brotli/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/control/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2024 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/http/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/http/common.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2023 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | 7 | EXTENSION_TO_MIMETYPE = { 8 | ".wasm": "application/wasm", 9 | ".js": "text/javascript", 10 | ".css": "text/css", 11 | } 12 | -------------------------------------------------------------------------------- /xpra/net/lz4/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/lz4/lz4_compat.h: -------------------------------------------------------------------------------- 1 | /* This file is part of Xpra. 2 | * Copyright (C) 2022 Antoine Martin 3 | * Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | * later version. See the file COPYING for details. 5 | */ 6 | 7 | //workaround for older versions of lz4 8 | 9 | #include 10 | 11 | #if LZ4_VERSION_MAJOR<2 && LZ4_VERSION_MINOR<9 12 | void LZ4_resetStream_fast(LZ4_stream_t* stream) { 13 | LZ4_resetStream(stream); 14 | } 15 | #endif 16 | -------------------------------------------------------------------------------- /xpra/net/protocol/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/protocol/constants.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2011 Antoine Martin 3 | # Copyright (C) 2008 Nathaniel Smith 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | from typing import Final 8 | 9 | CONNECTION_LOST: Final[str] = "connection-lost" 10 | GIBBERISH: Final[str] = "gibberish" 11 | INVALID: Final[str] = "invalid" 12 | -------------------------------------------------------------------------------- /xpra/net/qrcode/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | def qrencode(s): 7 | try: 8 | from xpra.net.qrcode.qrencode import encode_image 9 | except ImportError: 10 | return None 11 | return encode_image(s) 12 | -------------------------------------------------------------------------------- /xpra/net/quic/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/rencodeplus/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2021 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/rfb/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2017 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/ssh/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/vsock/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2023 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/websockets/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2019 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/websockets/headers/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2020 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/net/websockets/headers/env_cookie.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2020 Antoine Martin 3 | # Copyright (C) 2020 mjharkin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | import os 8 | 9 | from xpra.util.str_fn import strtobytes 10 | 11 | 12 | def get_headers(host: str, port: int) -> dict[bytes, bytes]: # pylint: disable=unused-argument 13 | cookie = os.environ.get("XPRA_WS_COOKIE", "") 14 | if cookie: 15 | return {b"Cookie": strtobytes(cookie)} 16 | return {} 17 | -------------------------------------------------------------------------------- /xpra/notification/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/opengl/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/opengl/__init__.py -------------------------------------------------------------------------------- /xpra/platform/autostart.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2021 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from xpra.platform import platform_import 7 | 8 | 9 | def set_autostart(_enabled: bool) -> None: 10 | """ 11 | win32 and posix platforms will override this function 12 | """ 13 | 14 | 15 | def get_status() -> str: 16 | return "" 17 | 18 | 19 | platform_import(globals(), "autostart", False, 20 | "set_autostart", "get_status") 21 | -------------------------------------------------------------------------------- /xpra/platform/client.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2011 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | from xpra.platform import platform_import 8 | from xpra.client.base.stub import StubClientMixin 9 | 10 | # default: 11 | PlatformClient: type | None = StubClientMixin 12 | 13 | platform_import(globals(), "client", True, 14 | "PlatformClient") 15 | -------------------------------------------------------------------------------- /xpra/platform/clipboard.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2010 Nathaniel Smith 4 | # Copyright (C) 2012 Antoine Martin 5 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 6 | # later version. See the file COPYING for details. 7 | 8 | from xpra.platform import platform_import 9 | 10 | 11 | def get_backend_module() -> str: 12 | return "" 13 | 14 | 15 | platform_import(globals(), "clipboard", False, "get_backend_module") 16 | -------------------------------------------------------------------------------- /xpra/platform/darwin/clipboard.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2011 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | 7 | def get_backend_module() -> str: 8 | return "xpra.platform.darwin.clipboard.OSXClipboardProtocolHelper" 9 | -------------------------------------------------------------------------------- /xpra/platform/darwin/dotxpra.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2016 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/platform/darwin/info.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from typing import Any 7 | 8 | 9 | def get_pyobjc_version(): 10 | try: 11 | import objc 12 | return objc.__version__ 13 | except ImportError: 14 | return None 15 | 16 | 17 | def get_version_info() -> dict[str, Any]: 18 | d = {} 19 | v = get_pyobjc_version() 20 | if v: 21 | d["pyobjc.version"] = v 22 | return d 23 | -------------------------------------------------------------------------------- /xpra/platform/darwin/nsevent_glue.h: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of Xpra. 3 | * Copyright (C) 2017 Antoine Martin 4 | */ 5 | 6 | //Just a wrapper for functions that are problematic to access with Cython 7 | 8 | #import 9 | 10 | NSEventType getNSEventType(NSEvent *nsevent); 11 | double getNSEventScrollingDeltaX(NSEvent *nsevent); 12 | double getNSEventScrollingDeltaY(NSEvent *nsevent); 13 | int getPreciseScrollingDeltas(NSEvent *nsevent); 14 | void *getNSEventView(NSEvent *nsevent); 15 | -------------------------------------------------------------------------------- /xpra/platform/darwin/transparency_glue.h: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of Xpra. 3 | * Copyright (C) 2018 Antoine Martin 4 | */ 5 | 6 | //Just a wrapper for functions that are problematic to access with Cython 7 | 8 | #import 9 | 10 | void setOpaque(NSWindow *window, BOOL opaque); 11 | void setClearBackgroundColor(NSWindow *window); 12 | 13 | float getBackingScaleFactor(NSWindow *window); 14 | -------------------------------------------------------------------------------- /xpra/platform/dotxpra_common.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2008 Nathaniel Smith 3 | # Copyright (C) 2011 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | import os 8 | import socket 9 | 10 | SOCKET_HOSTNAME = os.environ.get("XPRA_SOCKET_HOSTNAME", socket.gethostname()) 11 | PREFIX = f"{SOCKET_HOSTNAME}-" 12 | -------------------------------------------------------------------------------- /xpra/platform/notification.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2012 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | from collections.abc import Callable 8 | 9 | from xpra.platform import platform_import 10 | 11 | 12 | def get_backends() -> list[Callable]: 13 | return [] 14 | 15 | 16 | platform_import(globals(), "notification", False, "get_backends") 17 | -------------------------------------------------------------------------------- /xpra/platform/posix/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2010 Nathaniel Smith 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/platform/posix/dotxpra.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2016 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/platform/posix/info.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/platform/proxy_server.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2019 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from xpra.platform import platform_import 7 | 8 | from xpra.server.proxy.server import ProxyServer 9 | 10 | assert ProxyServer 11 | 12 | platform_import(globals(), "proxy_server", False, "ProxyServer") 13 | -------------------------------------------------------------------------------- /xpra/platform/win32/clipboard.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2011 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | 7 | def get_backend_module() -> str: 8 | return "xpra.platform.win32.ctypes_clipboard.Win32Clipboard" 9 | -------------------------------------------------------------------------------- /xpra/platform/win32/d3d11/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/platform/win32/d3d11/__init__.py -------------------------------------------------------------------------------- /xpra/platform/win32/namedpipes/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2016 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/platform/win32/notification.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2012 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | from collections.abc import Callable 8 | 9 | 10 | def get_backends() -> list[Callable]: 11 | from xpra.platform.win32.notifier import Win32_Notifier 12 | return [Win32_Notifier, ] 13 | -------------------------------------------------------------------------------- /xpra/platform/win32/scripts/proxy.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # This file is part of Xpra. 3 | # Copyright (C) 2020 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | import sys 8 | from xpra.platform.win32.service import main 9 | 10 | main(sys.argv) 11 | -------------------------------------------------------------------------------- /xpra/platform/win32/setappid.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace utility 4 | { 5 | long SetAppID(HWND hWnd, PCWSTR pszAppID); 6 | } 7 | -------------------------------------------------------------------------------- /xpra/platform/win32/systray.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2010 Nathaniel Smith 3 | # Copyright (C) 2011 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | 7 | 8 | def get_backends() -> list[type]: 9 | from xpra.platform.win32.tray import Win32Tray 10 | return [Win32Tray] 11 | 12 | 13 | def get_forwarding_backends(*_args) -> list[type]: 14 | return get_backends() 15 | -------------------------------------------------------------------------------- /xpra/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2008 Nathaniel Smith 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/server/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | 7 | from enum import IntEnum 8 | 9 | 10 | class ServerExitMode(IntEnum): 11 | UNSET = -1 12 | NORMAL = 0 13 | UPGRADE = 1 14 | EXIT = 2 15 | -------------------------------------------------------------------------------- /xpra/server/dbus/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2015 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/server/encoder/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/server/encoder/__init__.py -------------------------------------------------------------------------------- /xpra/server/proxy/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2015 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/server/rfb/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2021 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/server/runner/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/server/runner/__init__.py -------------------------------------------------------------------------------- /xpra/server/shadow/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2015 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/server/source/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2018 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/server/subsystem/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2018 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/server/window/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2015 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/util/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2023 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/wayland/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/wayland/__init__.py -------------------------------------------------------------------------------- /xpra/x11/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | import sys 7 | 8 | if sys.platform.startswith("win") or sys.platform == "darwin": # pragma: no cover 9 | raise ImportError("no X11 support on %s" % sys.platform) 10 | -------------------------------------------------------------------------------- /xpra/x11/bindings/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2008 Nathaniel Smith 3 | # Copyright (C) 2012 Antoine Martin 4 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 5 | # later version. See the file COPYING for details. 6 | -------------------------------------------------------------------------------- /xpra/x11/bindings/core.pxd: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | 7 | from xpra.x11.bindings.xlib cimport Display, Atom 8 | 9 | cdef class X11CoreBindingsInstance: 10 | cdef Display * display 11 | cdef char * display_name 12 | cdef Atom xatom(self, str_or_int) 13 | cdef Atom str_to_atom(self, atomstr) 14 | # def get_error_text(self, code) 15 | -------------------------------------------------------------------------------- /xpra/x11/bindings/display_source.pxd: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | cdef extern from "X11/Xlib.h": 7 | ctypedef struct Display: 8 | pass 9 | 10 | cdef Display* get_display() noexcept 11 | cdef int set_display(Display *d) except 1 12 | -------------------------------------------------------------------------------- /xpra/x11/bindings/events.pxd: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2023 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | 7 | from xpra.x11.bindings.xlib cimport Display, XEvent 8 | 9 | cdef object parse_xevent(Display *d, XEvent *e) 10 | cdef void init_x11_events(Display *display) 11 | -------------------------------------------------------------------------------- /xpra/x11/bindings/xwayland_info.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2023 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | import os 7 | 8 | from xpra.x11.bindings.xwayland import isxwayland 9 | 10 | 11 | def main() -> None: 12 | display = os.environ.get("DISPLAY", "NULL") 13 | print(f"isxwayland({display})={isxwayland(display)}") 14 | 15 | 16 | if __name__ == "__main__": 17 | main() 18 | -------------------------------------------------------------------------------- /xpra/x11/dbus/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2015 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/x11/desktop/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2022 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/x11/gtk/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/x11/gtk/gdk_x11_macros.c: -------------------------------------------------------------------------------- 1 | // This file is part of Xpra. 2 | // Copyright (C) 2018 Antoine Martin 3 | // Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | // later version. See the file COPYING for details. 5 | 6 | #include "gdk/gdkx.h" 7 | 8 | int is_x11_display(void *display) { 9 | #ifdef GDK_WINDOWING_X11 10 | if (GDK_IS_X11_DISPLAY (display)) 11 | return 1; 12 | else 13 | #endif 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /xpra/x11/gtk/gdk_x11_macros.h: -------------------------------------------------------------------------------- 1 | // This file is part of Xpra. 2 | // Copyright (C) 2018 Antoine Martin 3 | // Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | // later version. See the file COPYING for details. 5 | 6 | int is_x11_display(void *display); 7 | -------------------------------------------------------------------------------- /xpra/x11/gtk/native_window.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2013 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | 6 | from xpra.os_util import gi_import 7 | 8 | GdkX11 = gi_import("GdkX11") 9 | 10 | 11 | def GDKX11Window(*args, **kwargs) -> GdkX11.X11Window: 12 | # pylint: disable=import-outside-toplevel 13 | from xpra.gtk.window import new_GDKWindow 14 | return new_GDKWindow(GdkX11.X11Window, *args, **kwargs) 15 | -------------------------------------------------------------------------------- /xpra/x11/models/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is part of Xpra. 2 | # Copyright (C) 2015 Antoine Martin 3 | # Xpra is released under the terms of the GNU GPL v2, or, at your option, any 4 | # later version. See the file COPYING for details. 5 | -------------------------------------------------------------------------------- /xpra/x11/server/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/x11/server/__init__.py -------------------------------------------------------------------------------- /xpra/x11/uinput/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xpra-org/xpra/347faba3330155c11bdb2fb32481a0aed9da338c/xpra/x11/uinput/__init__.py --------------------------------------------------------------------------------