| Summary: | RFE: infinite clipboard history in Klipper | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Paul Wise <pabs3> |
| Component: | Clipboard widget & pop-up | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED INTENTIONAL | ||
| Severity: | wishlist | CC: | nate, qydwhotmail |
| Priority: | NOR | ||
| Version First Reported In: | 6.5.0 | ||
| Target Milestone: | 1.0 | ||
| Platform: | unspecified | ||
| OS: | All | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Python script to sync the Klipper database to filesystem xattrs | ||
|
Description
Paul Wise
2025-10-23 13:51:00 UTC
We've intentionally decided against infinite (well, nearly infinite) clipboard size, sorry. It would expose too many weird edge case bugs. OK, thanks for the reply. I guess I'll look at making a local fork then. Created attachment 186377 [details]
Python script to sync the Klipper database to filesystem xattrs
Recompiling plasma-workspace takes too long on my old machine, so it is hard to work on this.
So I came up with a workaround, I'm mentioning it here in case anyone else wants a workaround for this too.
First sync the database to xattrs using the attached script (so that all the metadata is retained outside the database, which is maintained by Klipper), then use rsync without any delete option to keep a copy of the files, then automatically run those steps hourly using cron or systemd timers:
rsync -aSHAX ~/.local/share/klipper/ ~/backup/klipper/
In the process of writing the script I came across a few entries that didn't have corresponding files, but couldn't find anywhere in the plasma-workspace klipper code that would have excluded them. The script handles that case by creating new dirs, and creating new files copying the text column from the main table of the database.
I don't have anything to search the old data yet, I expect I will just use grep for now.
|