Приложение, которое вы копируете из рекламных форматов (в основном идентифицируемых MIME-типами), может предоставить. Приложение, в которое вы вставляете, должно выбрать предпочитаемый формат и запросить его в исходном приложении.
Причина, по которой вы можете не видеть всю переданную информацию о стиле, заключается в том, что оба приложения не поддерживают общий формат, включающий информацию о стиле.
Вы также можете увидеть проблемы, потому что приложение может, например, попытаться вставить HTML, но на самом деле не сможет обработать весь HTML. Или приложения могут содержать ошибки или не соглашаться с тем, что на самом деле означает конкретный тип MIME.
Практически все приложения могут как копировать, так и вставлять обычный текст, но, кроме того, это просто и удобно. Если вы не получаете то, что кажется разумным, вы можете сообщить об ошибке в одном из приложений.
Вы можете заметить, что если вы выйдете из приложения, из которого копируете, вы больше не сможете вставлять. (Если вы не используете «менеджер буфера обмена» или что-то в этом роде.) Это происходит потому, что на самом деле никакие данные не покидают исходное приложение, пока целевое приложение не запросит формат для вставки.
Существуют «менеджеры буфера обмена», которые запрашивают данные немедленно в любое время, когда вы копируете и сохраняете эти данные, поэтому вы можете вставить их после выхода из исходного приложения, но у них есть недостатки (что делать, если данные огромны или предлагаются в 10 форматах и т. Д. )
Следующий код Python покажет доступные форматы для копируемых в данный момент данных, если у вас установлен pygtk. Это приложение показывает скопированные данные ctrl + c, а не пасхальное яйцо среднего щелчка. (См. http://freedesktop.org/wiki/Specifications/ClipboardsWiki)
#!/usr/bin/python
import gtk;
clipboard = gtk.clipboard_get()
print("Current clipboard offers formats: " + str(clipboard.wait_for_targets()))