I thought wayland had some restrictions on global clipboard access and the last time I tried none of the well known clipboard managers worked as expected. (Also they all looked like shit).
This has been one of my pain points switching from macOS to linux or windows. Great job.
Arnavion · 3h ago
I actually went looking at the source code to see if this would work on Wayland and it doesn't. The clipboard snooping is implemented by listening for events using gdk.Clipboard, which is not an ext_data_control_v1 implementation. So on Wayland it'll only notice clipboard events if it's in focus (or if the compositor sends clipboard events to unfocused windows, which I'm not sure any do).
Edit: Yes, tested it now and it doesn't detect clipboard events from Wayland windows when it doesn't have focus. It only detects events from Xwayland windows when unfocused, or if I copy something from a Wayland window and then focus the clyp window then it detects the thing I copied.
nine_k · 3h ago
It's almost as if a Wayland compositor should keep a list of trusted apps to broadcast clipboard events to, somehow similar to how screenshots are handled. (Not that Wayland is well-rounded in this regard.)
Arnavion · 2h ago
The ext_data_control_v1 protocol I mentioned is a protocol specifically for clipboard managers. So a client that wants to be a clipboard manager would implement that protocol. There are already implementations of it like wl-clipboard. There is no need for the compositor to broadcast regular clipboard events (wl_data_offer).
Now the compositor could certainly keep an additional list of trusted applications that are allowed to be clients of the ext_data_control_v1 protocol. Though identifying the client to enforce such a thing is a bigger problem than just maintaining a list of applications, because the protocol has no client identification. AFAIK every compositor that supports that protocol has no restrictions on clients requesting it, though something involving the security-context protocol might change this in the future.
ghostly_s · 3h ago
Odd, why does the readme tout "Full Wayland support" then?
RonanSoleste · 2h ago
Because its easy to write it and most wont even verify?
beepbooptheory · 3h ago
That's interesting.. Never ran into this, been using various clipboard managers in wayland (swaywm at first, now niri) for years without issue. copyq is what I use these days and, while not quite as pretty as this one, its great!
bornfreddy · 3h ago
One thing that I love about Windows (and there aren't many others) is that pressing Super+V (instead of Ctrl+V) shows a list of last N clipboard entries and you can select which one you wish to paste. Simple and very effective.
You can also pin some entries so that they are permanently available, but that's a bonus.
I haven't seen a clipboard manager behave like that in Linux - can this one be used in a similar way?
garciansmith · 17m ago
KDE's default clipboard manager lets you summon a list (and you can change what shortcut to invoke it and do things like use a shortcut to move to the next clipboard entry) and edit entries. It doesn't let you pin them though, I think.
baq · 30m ago
I’ve used ditto for this since before windows gained this capability. It also has an ignore list (e.g. keepass lives there) and a few other niceties which make it one of the first tools I install on a windows box (not very often anymore, granted).
pluc · 2h ago
Yup as others have said, super+v for me invokes greenclip's rofi plugin which gives me a nice themable clipboard history overlay.
mnmalst · 3h ago
I use a popup like that myself a lot. Clipman on xfce supports that but no pinning.
sbene970 · 3h ago
The "Clipboard History"[0] Gnome extension also does this quite well in my experience. I also recently switched from Windows 11 (to Ubuntu), very happy so far.
Edit:
Supports pinning and binding it to Super+V as well!
Yes, I this is the feature I miss most; I'm almost ready to try to remember how to write in C.
ASalazarMX · 3h ago
Tried it, and found out I had disabled it in the past, and it fortunately has stayed off trhough updates.
How does it deal with usernames/passwords/secrets in the clipboard? Do you clean it up periodically?
pluc · 12m ago
Use a password manager/passkey so you don't have to do this
Gracana · 2h ago
I looked at mine, and it only has entries from my current login session.
SweetSoftPillow · 2h ago
I configured copyq to work exactly like this, so it's doable.
fkhadra · 2h ago
Congrats on the release, I went the other way around, osx first in my case https://github.com/fkhadra/xcp, I'll probably add support for linux and windows when I get the time. Funny that we both used golang for that.
hungmung · 3h ago
Linux clipboards have been a pain point to me for decades. What I really want is a single unified clipboard daemon that works across different login sessions and covers console and graphical environments with the same keyboard shortcut. Bonus points if it's got a single-use-paste option for passwords, and also buffers to hold onto multiple selections.
tracker1 · 2h ago
For clarity, are you expecting a clipboard in full terminal sessions (including serial?) or are you just meaning pty sessions with a terminal emulator?
I'm not sure how a clipboard manager would know the text copied in was a password (or 2fa).
tigrezno · 2h ago
These clipboards are a privacy problem when you're sharing your screen. So many times a coworker has copy/pasted and a dialog with even passwords have been shown on screen...
SweetSoftPillow · 2h ago
Why images are limited to 3 and are there plans to fix that?
knighthack · 3h ago
I use CopyQ. Love it because it's so cross-platform, and consistently works across my Mac and Linux machines with minimal fuss; it handles images really well too.
jdmg94 · 3h ago
Great work! does the CLI support clipboard operations like MacOS' `pbcopy` and `pbpaste` ? I've added it to my stars to keep and eye on the project, GTK4 and wayland support makes it rather futureproof IMO
opan · 1h ago
There's wl-clipboard for this, has wl-copy and wl-paste commands. I've been using it on sway for years.
k_roy · 3h ago
For Wayland I just use this:
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
I used to do the same thing on Xorg with xclip I think
Switching between macOS for job and linux for everything else, I’ve honestly never realized any difference.
esafak · 2h ago
It would be nice if you could pipe to it like pbcopy, with each invocation creating a new entry, and add support for automatically expiring old entries.
andrewshadura · 2h ago
Does it support indicators? If not, any plans to add it?
This has been one of my pain points switching from macOS to linux or windows. Great job.
https://github.com/murat-cileli/clyp/blob/2c0ce6c33813c3f35f...
Edit: Yes, tested it now and it doesn't detect clipboard events from Wayland windows when it doesn't have focus. It only detects events from Xwayland windows when unfocused, or if I copy something from a Wayland window and then focus the clyp window then it detects the thing I copied.
Now the compositor could certainly keep an additional list of trusted applications that are allowed to be clients of the ext_data_control_v1 protocol. Though identifying the client to enforce such a thing is a bigger problem than just maintaining a list of applications, because the protocol has no client identification. AFAIK every compositor that supports that protocol has no restrictions on clients requesting it, though something involving the security-context protocol might change this in the future.
You can also pin some entries so that they are permanently available, but that's a bonus.
I haven't seen a clipboard manager behave like that in Linux - can this one be used in a similar way?
Edit: Supports pinning and binding it to Super+V as well!
[0] https://extensions.gnome.org/extension/4839/clipboard-histor...
How does it deal with usernames/passwords/secrets in the clipboard? Do you clean it up periodically?
I'm not sure how a clipboard manager would know the text copied in was a password (or 2fa).
Switching between macOS for job and linux for everything else, I’ve honestly never realized any difference.