Буфер обміну та технологія перетягування
Оскільки користувачі використовують все більше типів даних у різних програмах, зростає потреба у обміні об'єктами та даними між програмами. GNOME підтримує два пов'язаних методи обміну даними між програмами: технологію перетягування та копіюванням даних у буфер обміну. Обидва методи обміну даними працюють у багатьох програмах, навіт у тих які не розроблялись для GNOME.
Буфер обміну використовується, коли користувача явним чином копіює дані у програмі.При цьому програма отримує контроль над буфером обміну. Коли користувач вставляє дані у іншу програму, то інша програма отримує дані з першої програми. Операції з буфером обміну повністю підтримуються GTK+.
Операції перетягування схожі, але вимагають стеження за курсором та його оновлення при рухах над потенційними цілями для вставки. Коли програма сповіщається про рух курсору над нею при перетягуванні, вона має змінити курсор таким чином, щоб показати чи вона може прийняти перетягування. GTK+ підтримує перетягування за допомогою складного API, що дозволяє легко керувати цілями перетягування у програмах.
Обидва механізми — перетягування та буфер обміну, підтримують обмін не лище текстом, але й довільними даними. Коли у програми є дані для обміну вона оголошує доступні формати цих даних. Наприклад, при копіюванні тексту у веб-оглядачі, текстовий процесор може обробити дані у форматі HTML, а звичайний текстовий редактор може прийняти лише звичайний текст без форматування.
Треба забезпечити підтримку роботи з буфером обміну та перетягування для усіх даних, з якими працює програма. Буфер обміну та перетягування корисні не лише для роботи з текстом, але й для переносу між програмами фрагментів файлів, зображень, звуку. При використанні GTK+, програми автоматично підтримують роботу з буфером обміну та перетягування для текстових полів, кнопок вибору кольору, діалогів вибору файлів та інших вбудованих елементів керування. Для підтримки будь-якого іншого типу даних потрібно використовувати API GTK+.
Докладнішу інформацію наведено у описі протоколів Drag-and-Drop Protocol for the X Window System, X Clipboard Explanation, та The Clipboard Manager Specification.