Schránka a přetahování

Se stále se zvyšující frekvencí používání a množstvím dat v různých aplikací narlstá potřeba sdílet objekty a data mezi aplikacemi. GNOME podporuje metody pro přenos dat mezi aplikacemi: operace související s přetahováním a kopírování/vkládání pomocí schránky dostupné napříč systémem. Obojí pracuje napříč mnoha aplikacemi včetně takových, které nepocházejí z projektu GNOME.

Pokud uživatel kopíruje nějaká data z aplikace, použije se schránka, jejíž vlastnictví si aplikace následně nastaví. Když pak uživatel použije funkci vložení do jiné aplikace, tato aplikace si vyžádá data ze schránky s vlastnictvím první. Práce se schránkou je plně podporována v GTK+.

Drag and drop operations are similar, but they require the pointer to be tracked and updated as the user moves across potential drop targets. When an application is notified a pointer is moving over it during an active drag, it must update the cursor to indicate whether or not it can accept the drop. GTK+ provides drag and drop support with a sophisticated API that makes it easy to manage drop targets in your applications.

Jak schránka tak operace přetahování podporují domluvu o formátu obsahu. Aplikace poskytující data zároveň uvádí informace o dostupných formátech. Aplikace, do které datap utují si může zažádat o nejvhodnější formát. Například při kopírování textu y prohlížeče WWW může textový procesor zpracovat formátování prostřednictvím jazyka HTML zatímco textový editor může obdržet data jako čistý text, bez formátování.

Meli byste umožnit použití přetažení a schránky pro všechna data se kterými vaše aplikace pracuje. Tyto funkce jsou užitečé nejen pro text: soubory, obrázky a zvuky jsou příklady dat, která lze mezi aplikacemi přenášet. Pokud používáte GTK+, získáváte tím automaticky podporu schránky a přetahování pro všechna textová pole, tlačítka, výběry souborů a ostatní obsažené ovládací prvky rozhraní. Tato API byste měli použít pro jakákoliv data aplikací zpracovávaná.

Více informací popisují dokumenty Drag-and-Drop Protocol for the X Window System, X Clipboard Explanation a The Clipboard Manager Specification.