Los datos de arrastrar tienen las siguientes propiedades:
Tipo de acción de arrastrar (por ejemplo ACTION_COPY (acción copiar), ACTION_MOVE (acción mover)).
Tipo de arrastrar-y-soltar específico del cliente (un par de nombre y número).
Tipo de formato de los datos enviados y recibidos.
Las acciones de arrastrar son bastante obvias, especifican si el control puede arrastrar con la/s acción/es especificada/s, por ejemplo gtk.gdk.ACTION_COPY y/o gtk.gdk.ACTION_MOVE. Una acción gtk.gdk.ACTION_COPY sería el típico arrastrar y soltar sin que la fuente se elimine mientras que una acción gtk.gdk.ACTION_MOVE sería exactamente igual, pero se 'sugiere' que se borren los datos orígen tras la llamada a la señal de recepción. Hay más acciones como gtk.gdk.ACTION_LINK que se pueden investigar en cuanto se adquiera un poco más de destreza con el mecanismo de arrastrar-y-soltar.
El tipo de arrastrar-y-soltar especificado por el cliente es mucho más flexible, porque será la aplicación la que lo defina y compruebe. Se tendrán que configurar los controles destino para que reciban ciertos tipos de arrastrar-y-soltar, especificando un nombre y/o un número. Es más fiable el uso de un nombre ya que otra aplicación puede estar usando el mismo número con un significado completamente diferente.
Los tipos de emisión y recepción de datos (objetivo de selección) entran en juego sólo en los propios manejadores de datos solicitados y recibidos. El término objetivo de selección es un poco confuso. Es un término adaptado de la selección GTK+ (cortar/copiar y pegar). Lo que selection target realmente significa es el tipo de formato de datos (por ejemplo gtk.gdk.Atom, entero, o cadena de caracteres) que se está enviando o recibiendo. El manejador de datos solicitados tiene que especificar el tipo (selection target) de datos que está enviando y el manejador de datos recibidos tiene que manejar el tipo de datos recibidos (selection target).