Ответ 1
Приложение, которое вы копируете из рекламных форматов (в основном идентифицированных типами 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()))