Cortar y pegar
[ Sistemas operativos / Linux ]



Soy un usuario reciente de Linux y lo estoy encontrando fascinante. Una pega que veo es que el "cortar", "copiar" y "pegar" no me funciona bien en todas las aplicaciones. No tengo problemas para copiar y pegar entre aplicaciones de Gnome y Netscape, o para pegar algo copiado en estas aplicaciones en KDE. Sin embargo, no puedo copiar desde KDE a aplicaciones Gnome o a Netscape. También me ha sorprendido que el terminal de Gnome no tenga ninguna opción para copiar, sólo para pegar, y que el resto de emuladores de terminal ni siquiera eso.
Ramón Puente Segovia



Es cierto que entre las aplicaciones para X hay cierta confusión con el mecanismo de "copiar" y "pegar". Afortunadamente es un punto en el que ya hay un consenso general, aunque habrá que esperar a que las aplicaciones se vayan adaptando.

Hasta que llegue ese momento, como truco general cabe recordar que prácticamente todas las aplicaciones permiten al menos "pegar" pulsando el botón central del ratón (en aquellos casos que no esté disponible se emula pulsando a la vez el izquierdo y el derecho). Vamos a tratar de aclarar en qué se diferencian los mecanismos de "copiar" y "pegar" de distintas aplicaciones y cuál es el modelo reconocido como el recomendable. Para más información sugerimos la lectura del documento www.freedesktop.org/standards/clipboards.txt.

ICCM, el manual de comunicación entre clientes de X-Window, habla entre muchas otras cosas de las funciones de "cortar" y "pegar". Menciona dos regiones principales cuyo contenido se puede "pegar": CLIPBOARD y PRIMARY. CLIPBOARD es igual que el portapapeles de Windows, es decir, el texto copiado o cortado utilizando las típicas opciones del menú Editar o mediante teclas rápidas tipo "Ctrl-X". En cuanto a PRIMARY, se refiere al último bloque de texto seleccionado, es decir, es como un portapapeles en el que al marcar un bloque se copia él solo. El contenido de PRIMARY se pega pulsando el botón central del ratón. Por supuesto tanto CLIPBOARD como PRIMARY se comparten entre todas las ventanas y aunque hablemos de texto se puede copiar en ellos cualquier tipo de dato.

Esta doble forma de "copiar/pegar" es muy flexible. Por un lado con CLIPBOARD se cubre el sistema típico de copy/paste que encontramos en el resto de sistemas operativos como Windows o MacOS. Por otro PRIMARY es un complemento útil como atajo para pegar de forma rápida con un solo clic, ya que tras seleccionar con el ratón basta con pulsar el botón central, en lugar de tener que ejecutar primero "copiar" y luego "pegar".

Muchas aplicaciones permiten esta doble posibilidad; sobre todo engrosan la lista las basadas en GTK+ y las de Motif. Hay un segundo grupo de aplicaciones que son más limitadas y no implementan CLIPBOARD. En ellas sí suele funcionar en cambio el pegar la última selección (es decir, PRIMARY) con el botón central. Es el caso de xterm.

Hay un tercer grupo de aplicaciones que despistan un poco porque internamente se comportan como el segundo grupo, al no pegar el contenido de CLIPBOARD sino el de la última selección (PRIMARY), aunque por su interfaz parecen del primer grupo. Y es que mientras que en xterm no hay comandos para "copiar", "cortar" y "pegar", sino que simplemente se puede seleccionar con el ratón y pegar con el botón central, aquí sí existen estas opciones bajo el menú Editar, con teclas rápidas e incluso botones de la barra de tareas.

Las aplicaciones más representativas de este grupo son las basadas en Qt como KDE, pero hay muchas otras como CoolEdit, versiones viejas de Emacs o incluso una aplicación Gnome como es gnome-terminal, que en lugar de utilizar el método de copiar de GTK+ adopta el de xterm y la consola, es de suponer que por mantener la coherencia con la interfaz de sus predecesores. Hay que decir que Troll Tech, la empresa autora de Qt, piensa adoptar en su versión 3 el comportamiento de Motif y GTK+, de modo que próximamente todas las aplicaciones destacadas de Unix usarán el mismo sistema de "copiar" y "pegar".

En aplicaciones como CoolEdit o KDE la opción de "pegar" equivale al botón central del ratón, es decir, pegar la última selección en lugar de pegar lo último que se ha copiado o cortado como haría por ejemplo Gnumeric. Obsérvese que cuando se copia en Netscape o Gnumeric no hay ningún problema para copiar en una aplicación de por ejemplo KDE; al fin y al cabo para copiar antes ha habido que seleccionar, por lo que coincidirán PRIMARY y CLIPBOARD.

El mayor inconveniente de pegar la última selección en lugar de lo que explícitamente se copia o corta, es que en el momento en el que desde cualquier ventana se selecciona un nuevo bloque éste pasa a ser el contenido pegable. Recordemos que además no siempre que se selecciona un texto es para meterlo en el cortapapeles; por ejemplo en un procesador de textos se puede marcar un bloque para ponerlo en negrita.

El otro problemilla con aplicaciones como CoolEdit o las de KDE es que al "copiar como" no se mete en CLIPBOARD y no se puede pegar con la orden correspondiente en Netscape o las aplicaciones Gnome, aunque la solución es tan simple como utilizar en su lugar el botón central del ratón. A priori el botón de "copiar" en KDE o gnome-terminal carece de utilidad, dado que para pegar se toma la última selección, que se autocopia en PRIMARY. Este es el motivo por el que en gnome-terminal existe "pegar" pero no "copiar".

En KDE y CoolEdit sin embargo la tecla copiar no es totalmente inútil. Estos programas distinguen entre seleccionar el texto con el ratón o con el teclado: con el ratón la selección como siempre se autocopia a PRIMARY, pero con el teclado hay que ejecutar "cortar" o "copiar" explícitamente. En KOffice se llega aún más lejos e incluso la selección con el ratón tampoco se mete en PRIMARY hasta "copiar" o "pegar".

De este modo KOffice está funcionando como una aplicación GTK o Motif, pero que utiliza como portapapeles PRIMARY en lugar de CLIPBOARD. Gracias a ello por seleccionar un bloque dentro de la aplicación para ponerlo a negrita no se sobreescribe el portapapeles. Sin embargo, si la selección se hace desde cualquier otra ventana que no sea de Koffice, sí afectará al portapapeles.

Antes de acabar, aclaremos que aunque CLIPBOARD funcione prácticamente igual que el portapapeles de Windows, difiere con él en la forma de implementarse. La diferencia es que no se trata de un área intermedia de memoria o disco en fuera de la aplicación en la que el sistema guarda lo último copiado o cortado. Lo que hace en realidad es esperar a que se solicite una orden "pegar" para transmitir directamente el contenido del portapapeles a su destino. Un poco como en Windows al copiar un fichero desde el administrador de archivos, donde no se lee el fichero hasta ejecutar "pegar".

Este sistema es más eficiente que usar un portapapeles físico, sobre todo a la hora de copiar contenidos voluminosos como una imagen en alta resolución. Eso sí, hay que recordar que si cerramos la ventana desde la que hemos cortado o copiado antes de ejecutar "pegar", nos encontraremos con que no hay nada que pegar.

Existe una aplicación llamada xclipboard que para examinar CLIPBOARD como si fuera un portapapeles real. Permite modificar, borrar y grabar en disco su contenido. Un detalle es que si tenemos abierto xclipboard sí se puede pegar aunque se haya cerrado la ventana desde donde se copió/cortó. Con aplicaciones KDE xclipboard no tiene sentido, ya que éstas usan actualmente PRIMARY en lugar de CLIPBOARD. Sin embargo, KDE2 tiene un applet para su panel muy útil porque proporciona un histórico de los contenidos de PRIMARY (es decir de las distintas selecciones realizadas desde las aplicaciones, sean o no de KDE). Incluye una opción para que al salir de la sesión se conserve el histórico en el disco.

También nos gustaría resaltar que las funciones de "arrastrar" y "soltar" sí se integran totalmente ya, al menos entre Gnome y KDE2, que usan ambos el protocolo XDND. Gnome también implementa el protocolo de Motif para arrastrar y soltar objetos con aplicaciones como Netscape.






Anterior         Siguiente         





© 2002 VNU Business Publications España. Queda terminantemente prohibida su reproducción total o parcial por cualquier medio sin el permiso explicito y por escrito del propietario del copyright.