Show HN: Clyp – Clipboard Manager for Linux

(github.com)

38 points | by timeoperator 4 hours ago ago

26 comments

  • eknkc 3 hours ago ago

    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 3 hours ago 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).

      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.

      • nine_k 2 hours ago 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 2 hours ago 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 2 hours ago ago

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

        • RonanSoleste 2 hours ago ago

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

    • beepbooptheory 3 hours ago 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 3 hours ago 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?

    • pluc an hour ago 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 3 hours ago ago

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

      • sbene970 3 hours ago 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!

        [0] https://extensions.gnome.org/extension/4839/clipboard-histor...

      • nine_k 3 hours ago ago

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

    • ASalazarMX 3 hours ago 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?

      • Gracana 2 hours ago ago

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

    • SweetSoftPillow 2 hours ago ago

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

  • fkhadra 2 hours ago 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 3 hours ago 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 an hour ago 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 2 hours ago 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 2 hours ago ago

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

  • knighthack 3 hours ago 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.

  • andrewshadura an hour ago ago

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

  • jdmg94 3 hours ago 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

    • k_roy 3 hours ago 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.

    • opan an hour ago ago

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

    • esafak 2 hours ago 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.