├── .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 | #  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
--------------------------------------------------------------------------------