68

Show HN: Clyp – Clipboard Manager for Linux

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.

8 hours agoeknkc

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).

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.

7 hours agoArnavion

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.)

7 hours agonine_k

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.

7 hours agoArnavion

Odd, why does the readme tout "Full Wayland support" then?

7 hours agoghostly_s

Because its easy to write it and most wont even verify?

6 hours agoRonanSoleste
[deleted]
7 hours 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!

7 hours agobeepbooptheory

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?

7 hours agobornfreddy

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.

4 hours agogarciansmith

I configured copyq to work exactly like this, so it's doable.

7 hours agoSweetSoftPillow

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).

4 hours agobaq

I use a popup like that myself a lot. Clipman on xfce supports that but no pinning.

7 hours agomnmalst

Yes, I this is the feature I miss most; I'm almost ready to try to remember how to write in C.

7 hours agonine_k

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?

7 hours agoASalazarMX

I looked at mine, and it only has entries from my current login session.

6 hours agoGracana

That, and it only has about 10 of them. But anyway, if someone can access your clipboard manager then that's not very good...

4 hours agobornfreddy

Use a password manager/passkey so you don't have to do this

4 hours agopluc

Sometimes you have broken websites/apps so you gotta copypaste. Sometimes they even have fields where you can't paste either (K9mail on android) (I cry in 64 char password).

3 hours agomagackame

It'd be an interesting feature for a password manager to issue a system call to purge clipboard history on copying a password. Lots of password managers aren't just browser add-ons but full desktop apps

2 hours agopluc

Yup as others have said, super+v for me invokes greenclip's rofi plugin which gives me a nice themable clipboard history overlay.

6 hours agopluc

I love that feature too. I replicated it with this. https://github.com/sentriz/cliphist

In addition to what is shown here, I added a job that runs every 5 minutes which prunes the history so that I can comfortably copy sensitive information as well.

4 hours agohkon

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.

6 hours agofkhadra

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.

7 hours agohungmung

> a single-use-paste option for passwords

This wouldn't prevent the malware that's constantly scanning the clipboard from stealing your password; it would only prevent you from using it after it's been stolen.

16 minutes agozahlman

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).

6 hours agotracker1

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.

7 hours agoknighthack

Why images are limited to 3 and are there plans to fix that?

7 hours agoSweetSoftPillow

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

8 hours agojdmg94

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.

7 hours agok_roy

There's wl-clipboard for this, has wl-copy and wl-paste commands. I've been using it on sway for years.

5 hours agoopan

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.

6 hours agoesafak

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...

7 hours agotigrezno

Great point. It should be excluded from sharing session.

3 hours agohkon

Does it support indicators? If not, any plans to add it?

6 hours agoandrewshadura

[dead]