Πρόχειρα, σύρσιμο και απόθεση
Καθώς οι χρήστες εργάζονται με όλο και περισσότερους τύπους δεδομένων και εφαρμογές, χρειάζονται όλο και πιο συχνά να χρησιμοποιούν τα αντικείμενα και τα δεδομένα τους σε διαφορετικές εφαρμογές. Το GNOME υποστηρίζει δύο συγγενικές μεθόδους μεταφοράς δεδομένων μεταξύ εφαρμογών: τις ενέργειες συρσίματος και απόθεσης, και την αντιγραφή και επικόλληση από το πρόχειρο του συστήματος. Τόσο το πρόχειρο, όσο και το σύρσιμο και η απόθεση, συνεργάζονται με πολλές διαφορετικές εφαρμογές, συμπεριλαμβανομένων και εφαρμογών που δεν έχουν αναπτυχθεί στο GNOME.
Το πρόχειρο χρησιμοποιείται όταν ο χρήστης δίνει ρητή εντολή αντιγραφής σε μία εφαρμογή. Η εφαρμογή αυτή αποκτά αμέσως τον έλεγχο του προχείρου. Όταν ο χρήστης επικολλήσει τα δεδομένα σε διαφορετική εφαρμογή, η δεύτερη εφαρμογή ζητά τα δεδομένα του προχείρου από την πρώτη. Το πρόχειρο και οι ενέργειές του υποστηρίζονται πλήρως από τη GTK+.
Οι ενέργειες συρσίματος και απόθεσης μοιάζουν με τις προηγούμενες, αλλά απαιτούν συνεχή παρακολούθηση της θέσης του δείκτη, καθώς αυτός μετακινείται μεταξύ διάφορων πιθανών προορισμών για την απόθεση. Όταν μία εφαρμογή ειδοποιείται ότι ο δείκτης περνάει από πάνω της κατά τη διάρκεια συρσίματος, πρέπει να ενημερώσει την εμφάνιση του δρομέα, έτσι ώστε να φαίνεται αν μπορεί ή όχι να δεχτεί την απόθεση. Η GTK+ παρέχει υποστήριξη για τις ενέργειες συρσίματος και απόθεσης μέσω ενός προηγμένου API που διευκολύνει τη διαχείριση των προορισμών απόθεσης της εφαρμογής σας.
Τόσο οι ενέργειες προχείρου, όσο και οι ενέργειες συρσίματος και απόθεσης, υποστηρίζουν τη διαπραγμάτευση περιεχομένου. Όταν μια εφαρμογή είναι σε θέση να προσφέρει δεδομένα, δημοσιοποιεί τις μορφές στις οποίες διατίθενται αυτά τα δεδομένα. Οι εφαρμογές-παραλήπτες μπορούν να ζητήσουν τη μορφή που θεωρούν καταλληλότερη. Για παράδειγμα, αν ο χρήστης αντιγράψει κείμενο από τον περιηγητή του, ένας επεξεργαστής κειμένου μπορεί να διατηρήσει τη μορφοποίηση του πρωτοτύπου, ζητώντας να λάβει τα δεδομένα σε μορφή HTML, ενώ ένας επεξεργαστής απλού κειμένου μπορεί να λάβει το κείμενο χωρίς μορφοποίηση.
Πρέπει να παρέχετε δυνατότητες προχείρου, καθώς και συρσίματος και απόθεσης, για όλα τα δεδομένα που χρησιμοποιεί η εφαρμογή σας. Οι δυνατότητες αυτές δεν χρησιμεύουν μόνο στην αντιγραφή κειμένου: αρχεία, γραφικά και ηχητικά αποσπάσματα αποτελούν παραδείγματα δεδομένων που μπορούν να μεταφερθούν μεταξύ εφαρμογών. Αν χρησιμοποιείτε GTK+, απολαμβάνετε αυτόματη υποστήριξη για πρόχειρο, καθώς και σύρσιμο και απόθεση, για τις περιοχές κειμένου, τα κουμπιά χρωμάτων, τους επιλογείς αρχείων και άλλους εγγενείς ελέγχους της διεπαφής χρήστη. Χρησιμοποιήστε τα API της GTK+ για να προσφέρετε υποστήριξη για περαιτέρω δεδομένα της εφαρμογής σας.
Για περισσότερες πληροφορίες, ανατρέξτε στα Drag-and-Drop Protocol for the X Window System, X Clipboard Explanation και Clipboard Manager Specification.