Skip to content

Replace Pyperclip with Qt's native clipboard API for all GUI clipboard operations. - #360

Merged
zaktherobot merged 1 commit into
tommadness:masterfrom
Zexyen:fix/qt-native-clipboard
Aug 22, 2026
Merged

Replace Pyperclip with Qt's native clipboard API for all GUI clipboard operations.#360
zaktherobot merged 1 commit into
tommadness:masterfrom
Zexyen:fix/qt-native-clipboard

Conversation

@Zexyen

@Zexyen Zexyen commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Summary

SteamOS does not include wl-clipboard by default. Pyperclip relies on external utilities such as wl-copy and wl-paste under Wayland, which causes clipboard operations to fail on a default SteamOS installation. Since the application already uses PySide6, Qt can provide native clipboard integration across Wayland, X11, and Windows without requiring a separate clipboard package or command-line utility.

Changes

  • Added shared Qt clipboard helpers for copying and retrieving text.
  • Migrated seed string copy and paste operations to the Qt clipboard.
  • Migrated progression point CSV copy and paste operations to the Qt clipboard.
  • Removed the Pyperclip dependency.
  • Updated the Linux documentation to clarify that external clipboard utilities are not required.
  • Added focused tests for Qt clipboard text round-tripping and removal of Pyperclip from migrated files.

Impacts

  • SteamOS & other Distros using Wayland: No longer requires wl-clipboard.
  • X11 Linux Distributions: No longer requires xclip or xsel.
  • Windows: Qt uses the native Windows clipboard API.

This is purely a backend change to how copying to clipboard is done, none of the formatting & other operations are affected.

Tests before Merge

  • Confirm all Copy operations works
  • Confirm Copying works on Linux in general
  • Confirm Copying works on SteamOS (In Progress)
  • Confirm Copying works on Windows

@zaktherobot

Copy link
Copy Markdown
Collaborator

Apologies, I have already made the changes for this locally, and forgot to push them up to mainline. I think the only thing that needs to be kept from this PR is the documentation changes.

@Zexyen
Zexyen force-pushed the fix/qt-native-clipboard branch from 60bf9f8 to 06d37da Compare August 22, 2026 03:49
@Zexyen

Zexyen commented Aug 22, 2026

Copy link
Copy Markdown
Contributor Author

Apologies, I have already made the changes for this locally, and forgot to push them up to mainline. I think the only thing that needs to be kept from this PR is the documentation changes.

Seems we both had the same thought yesterday! I've gone ahead & just set the Documentation Changes in the PR.

@zaktherobot
zaktherobot merged commit b8ae593 into tommadness:master Aug 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants