Portapapeles y arrastrar y soltar
Ya que los usuarios trabajan con más y más tipos de datos en diferentes aplicaciones, tienen una necesidad de compartir objetos y datos entre sus aplicaciones. GNOME soporta dos métodos relacionados para transferencia de datos entre aplicaciones: usar operaciones de arrastrar y soltar, y copiar y pegar desde un portapapeles global del sistema. Ambas, el portapapeles y arrastrar y soltar, trabajan sobre múltiples aplicaciones, incluyendo aquellas no desarrolladas con GNOME.
El portapapeles se usa cuando un usuario copia datos explícitamente en una aplicación. La aplicación entonces reclama la propiedad del portapapeles. Cuando el usuario pega los datos en otra aplicación, la aplicación pide al portapapeles los datos de la primera aplicación. Las operaciones con el portapapeles están completamente soportadas en GTK+.
Las operaciones de arrastrar y soltar son similares pero requieren que el se siga al puntero y se actualice según el usuario se mueve a lo largo de objetivos potenciales para «soltar». Cuando a una aplicación se la notifica que el puntero se está moviendo sobre ella durante una operación activa de arrastrar, debe actualizar el cursor para indicar so acepta o no la operación de soltar. GTK+ proporciona soporte para arrastrar y soltar con una API sofisticada que hace fácil gestionar los objetivos potenciales para «soltar» en sus aplicaciones.
Tanto las operaciones con el portapapeles como las de arrastrar y soltar contienen negociación. Cuando una aplicación tiene datos que ofrecer, advierte qué formatos están disponibles para los datos. Las operaciones de recepción pueden requerir los formatos más apropiados. Por ejemplo, si un usuario copia texto de un navegador web, un procesador de textos puede mantener el formato pidiendo los datos en HTML, mientras que un editor de texto plano puede recibir el texto sin ningún formato.
Debería proporcionar funcionalidades para las operaciones con el portapapeles y arrastrar y soltar para cualquier dato sobre el que su aplicación pueda operar. Las operaciones con el portapapeles y arrastrar y soltar son útiles para más que simple texto: archivos, gráficos y archivos de sonido son ejemplos de datos que se pueden transferir entre aplicaciones. Cuando use GTK+, automáticamente obtendrá soporte para operaciones con el portapapeles y arrastrar y soltar para áreas de texto, botones de color, selectores de archivos y otros interfaces de control integrados. Debería usar las API en GTk+ para proporcionar soporte para cualquier otro tipo de dato en su aplicación.
Para obtener más información, consulte protocolo de arrastrar y soltar para el sistema X Window, explicación sobre el portapapeles de las X, y La especificación del gestor del portapapeles.