¿Cómo copiar texto al portapapeles cuando se usa Wayland?

18

¿Existe una utilidad cli de Wayland que copia texto al portapapeles?

Quiero poder hacer algo como esto:

echo "some" > clipboard

Algo equivalente a xclip.

mh-cbon
fuente
1
Estaría realmente interesado en ver la respuesta a esta pregunta también. Por mi uso de gnome-wayland, parece tener muchas restricciones en el acceso al portapapeles. Por ejemplo, si copia algo en el programa A y lo cierra, el portapapeles se enjuagará automáticamente. No hay restricción en la copia al portapapeles para xclip, pero parece que pegar solo funcionará si ha copiado algo mientras está en la terminal pero no en otro lugar. por el contrario, ctrl-v / shift-ctrl-v tiene ninguna restricción, siempre y cuando se abre aplicación original ...
thebunnyrules
Discusión sobre wayland + portapapeles - wiki.gnome.org/Initiatives/Wayland/PrimarySelection . Según este ticket, parece que se ha implementado: github.com/swaywm/sway/issues/1012 .
slm
Gracias por los enlaces, sin embargo, eso no me ayudó. tal vez me perdí algo
mh-cbon

Respuestas:

12

El portapapeles wl de bugaevc son utilidades de copiar / pegar para Wayland:

Este proyecto implementa dos pequeñas utilidades del portapapeles de Wayland, wl-copy y wl-paste, que le permiten copiar fácilmente datos entre el portapapeles y las tuberías, tomas, archivos, etc. de Unix.

El uso es tan simple como:

# copy a simple text message
$ wl-copy Hello world!

# copy the list of files in Downloads
$ ls ~/Downloads | wl-copy

# copy an image file
$ wl-copy < ~/Pictures/photo.png

# paste to a file
$ wl-paste > clipboard.txt

# grep each pasted word in file source.c
$ for word in $(wl-paste); do grep $word source.c; done

# copy the previous command
$ wl-copy "!!"

# replace the current selection with the list of types it's offered in
$ wl-paste --list-types | wl-copy

Aunque wl-copy y wl-paste están particularmente optimizados para texto sin formato y otros formatos de contenido textual, son totalmente compatibles con contenido de tipos MIME arbitrarios. wl-copy infiere automáticamente el tipo de contenido copiado al ejecutar xdg-mime (1) en él. wl-paste hace todo lo posible para elegir un tipo para pegar en función de la lista de tipos MIME ofrecidos y la extensión del archivo en el que está pegando. Si no está satisfecho con el tipo que eligen o no desea confiar en esta inferencia de tipo implícita, puede especificar explícitamente el tipo que se usará con la opción --type.

adabru
fuente
se ve realmente genial! pero me encontré con src/meson.build:1:0: ERROR: Dependency "wayland-client" not found, tried pkgconfig and cmakedurante la instalación. Estoy seguro de que es un estúpido error de mi parte. Lo es ? He corrido sudo dnf i meson -yantes del intento de compilación.
mh-cbon
1
@ mh-cbon En su página de github dice: ¿ The only mandatory dependency is the wayland-client library (try package named wayland-devel or libwayland-dev). Quizás ayuda instalar uno de esos paquetes mencionados? Alternativamente, tal vez el paquete se puede encontrar en los repositorios oficiales de paquetes.
adabru
funciona perfectamente después de instalar el wayland-develpaquete. ¡Gracias!
mh-cbon
4

wclip es una herramienta de portapapeles para Wayland que es muy similar a xclip.

El uso es el siguiente:

$ wclip i < my_text_file

$ wclip o contents of my text file $

Descargo de responsabilidad: soy el autor.

J. Wang
fuente