# [truco] Unificar bufer de selección de X y clipboard

## i92guboj

Buenos,

Hace unos días encontré una utilidad bastante curiosa que da solución a una de las cosas de X que nunca me ha convencido: la existencia de varios búferes separados para copiar y pegar. Aquí dejo una breve descripción del problema y la solución, por si a alguien le sirve.

Imaginemos que queremos copiar algo de xterm. Entonces lo seleccionamos con el ratón y luego lo pegamos en otra aplicación usando el click central. En algunos programas también se puede usar shift+insertar. En este caso el contenido se ha guardado en el búfer de selección de X. 

Imaginemos ahora que estamos usando un editor gráfico convencional. En este tipo de aplicación normalmente se copia el contenido usando un menú o un atajo de teclado. control+c es una combinación famosa para esta tarea, pero depende de cada aplicación. En este caso, el contenido se guarda en el portapapeles o clipboard.

El problema es que son dos búferes separados. Si esto es algo bueno o malo dependerá de cada cual y su forma de trabajar. Yo personalmente aprendí a vivir con ello hace tiempo, pero nunca me ha gustado esa separación. Los problemas vienen en varias formas. Si tengo las manos en el teclado y quiero pasar una url de seamonkey a mi ventana de terminal donde tengo weechat abierto tengo que coger el ratón para copiar la url, y luego pegarla en weechat usando click intermedio.

Podría seleccionar la url usando control+l, y copiarla con control+c, pero el terminal usa el búfer de selección, y no el clipboard, por lo que no tendría forma de pegar el contenido del clipboard en weechat.

Otro ejemplo típico es wine. Si queremos pegar algo en un programa que corre  bajo wine tenemos que hacerlo desde el clipboard. Wine parece ignorar completamente el click intermedio, por lo que no hay forma de pegar desde xterm a wine.

Existen utilidades como xsel que pueden leer y manipular dichos búferes, y sería fácil hacer un sencillo script de bash que los sincronizara a intervalos regulares. El problema sería decidir cual de ambos es el que debe prevalecer, y el tener que ejecutar el script a intervalos. Si solo existiera un búfer la cosa sería más sencilla.

Hace unos días en un hilo sobre el tema en otro foro alguien sugirió una utilidad de la que no había oído hablar: parcellite. Incluso está en portage, y es capaz de hacer justo eso, unificar los búferes de clipboard y selección. Tan solo hay que emerger x11-misc/parcellite y ejecutar "parcellite". A partir de ese momento se pueden acceder a los menús de acciones (control+alt+a) y de opciones (control+alt+p). En las preferencias es necesario seleccionar la opciónes "usar copias", "sincronizar portapapeles" y "usar primaria". Hay algunas opciones más que podeis cambiar a vuestro gusto.

Tras cambiar dichas opciones, ahora, si estoy en seamonkey puedo usar control+l y luego control+c para copiar, y más tarde ir a mi terminal y pegar con shift-ins in weechat, somo si el clipboard y el búfer de selección fueran uno solo. También puedo seleccionar algo en la consola y pegarlo en wine con control+c. Parcellite necesita estar cargado para que estos cambios se manifiesten. Para aquellos que usen una bandeja de sistema, parcellite debería aparecer en ella. Para los que no, hay una opción para desactivar el icono de sistema de parcellite (parcellite --help para más info). Las teclas rápidas para mostrar los menús de parcellite funcionarán igualmente aunque se desactive el icono del systray.

Y nada más, si a alguien le sirve, pues bienvenido sea, saludos a todos  :Smile: 

----------

## Coghan

jeje, hace tiempo que vengo usando esa herramienta en mi fluxbox, antes usaba la tradicional para este entorno x11-misc/autocutsel, es más ligera pero sin icono en la bandeja.

Sólo hay una cosa que no me termina de gustar al unificar los dos buffers, suelo usar mucho la selección para sobrescribir un texto y luego pegar en esta selección el contenido del buffer, si los tengo sincronizados evidentemente se me copia la selección que he realizado y no puedo pegar la selección anterior, he de realizar un paso mas con 'CTRL+AL+H' elegir la selección anterior y volver a pegar. Es un paso más pero me las arreglo bien, los beneficios superan con creces a esta pega.

----------

## i92guboj

 *Coghan wrote:*   

> jeje, hace tiempo que vengo usando esa herramienta en mi fluxbox, antes usaba la tradicional para este entorno x11-misc/autocutsel, es más ligera pero sin icono en la bandeja.
> 
> Sólo hay una cosa que no me termina de gustar al unificar los dos buffers, suelo usar mucho la selección para sobrescribir un texto y luego pegar en esta selección el contenido del buffer, si los tengo sincronizados evidentemente se me copia la selección que he realizado y no puedo pegar la selección anterior, he de realizar un paso mas con 'CTRL+AL+H' elegir la selección anterior y volver a pegar. Es un paso más pero me las arreglo bien, los beneficios superan con creces a esta pega.

 

Quizás autocutsel sea incluso mejor para mi, gracias por la información.

Lo que son las cosas, más de una década usando este SO y hasta hace unos días no sabía que existieran este tipo de herramientas.

Como dices, hay situaciones en las que tener dos búferes separados puede tener sentido, todo depende mucho de la tarea concreta. Pero en un entorno generalista como los escritorios de hoy día coincido contigo en que los beneficios superan a las ventajas, y siempre se puede usar el historial como bien dices para todo lo demás.

----------

## ekz

¡Muchas gracias! Yo también necesitaba esto.

Saludos

----------

## luispa

Lo que son las cosas, otro más que le ha pasado durante años  :Smile: 

Gracias

Luispa

----------

## achaw

Gracias! -Ya usaba parcellite, es muy probable que me pase a autocutsel...

Saludos

----------

