Code Monkey home page Code Monkey logo

Comments (10)

zetorian avatar zetorian commented on August 21, 2024 1

@ghost, @mrichar1: the above mentioned wlroots implementation has been moved upstream
swaywm/wlr-protocols#25
and if your are interested, this project implements it:
https://github.com/bugaevc/wl-clipboard

wl-clipboard is a simple cli/pipes based application along the same vein of xclip, and might make a fairly trivial implementation, depending on how tightly you want to bind to wayland protocols.

from clipster.

 avatar commented on August 21, 2024

It's really bad, actually: In Wayland, the clipboard manager has to be part of the compositor.

from clipster.

mrichar1 avatar mrichar1 commented on August 21, 2024

Thanks for raising this - I've been mostly trying to ignore it 😃

My reading up on this (along with your Gnome bug report) makes it clear that this is a complicated migration. As such there's a possibility that moving to Wayland might be a 'start again' kind of operation, rather than an update to the current app.

I'll leave this bug open as a place to gather more information on how the clipboard will work in Wayland, and in case anyone else wants to know about support, but for now this is definitely a 'wait and see' situation.

from clipster.

akostadinov avatar akostadinov commented on August 21, 2024

FYI https://blog.martin-graesslin.com/blog/2016/07/synchronizing-the-x11-and-wayland-clipboard/

from clipster.

mrichar1 avatar mrichar1 commented on August 21, 2024

Thanks for the extra info!

I'm still not quite at the point where I can put any effort into looking at wayland support (for one thing I don't have wayland running anywhere handy) though I will have to at some point. It looks like Gtk+ has extended their clipboard module to support Wayland, though documentation is really thin on the ground, so I've no idea to what extent things will 'just work'.

libwnck is used by filter_classes by application - this is going to have to be refactored anyway if my understanding of how the wayland clipboard works is correct.

It'd be interesting if anyone with wayland running can edit clipster and comment out the following lines:

try:
    require_version("Wnck", "3.0")
    from gi.repository import Wnck
except (ImportError, ValueError):

and unindent Wnck = None

and see what happens when clipster is run (with filter_classes = no in the config)?

from clipster.

 avatar commented on August 21, 2024

I tried it some time ago, but it wasn't enough because wayland applications don't get notified of ownership changes, so the core functionality is broken too. I believe that window managers will need to implement the listening part, whereas clipboard managers will just retrieve the info when asked by the user — very very simplified code, but will need custom retrievers for each window manager.
You can follow this sway issue and this other for their (TBD) api, which will probably work for all wlroots-based wms.

from clipster.

glubsy avatar glubsy commented on August 21, 2024

libwnck is used by filter_classes by application - this is going to have to be refactored anyway if my understanding of how the wayland clipboard works is correct.

If you ever get around to refactor it, may I suggest to make the filter inclusive instead of exclusive? By that I mean, only programs included in the filter will get processed, like a whitelist (instead of a blacklist currently).

from clipster.

mrichar1 avatar mrichar1 commented on August 21, 2024

@glubsy I think most people want a blacklist (the usual use case is collect everything except a password manager) hence the reason it was implemented that way.

I could make it so that there is both a blacklist and a whitelist (ordering/priority tbd...) if this is useful. Please can you make this a new issue as a feature request, as it will get lost in the wayland discussion, and if it in turn gets discussed will distract from the original issue. Thanks!

from clipster.

mrichar1 avatar mrichar1 commented on August 21, 2024

@zetorian thanks for flagging this up! given that clipster is currrntly working at a high level using the Python Gtk libs, then it's unlikely that I can pursue any work on a wayland-clipster until a similar API/ABI exists in Gtk/Qt/other python lib. Of course if someone wanted to write a wrapper around the protocol that clipster could tie into... 😃

from clipster.

stale avatar stale commented on August 21, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from clipster.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.