コピー元のアプリは、それが提供できる形式 (主に MIME タイプで識別) をアドバタイズします。貼り付け先のアプリは、好みの形式を選択し、ソース アプリからその形式を要求する必要があります。
転送されたすべてのスタイル情報が表示されない場合がある理由は、両方のアプリがスタイル情報を含む共通の形式をサポートしていないためです。
たとえば、アプリが HTML を貼り付けようとしても、実際にはすべての HTML を処理できない場合があるため、問題が発生することもあります。または、アプリにバグがあるか、特定の MIME タイプが実際に意味するものに同意していない可能性があります。
もちろん、ほぼすべてのアプリでプレーン テキストをコピーして貼り付けることができますが、それ以上はタッチ アンド ゴーです。理にかなっていると思われるものが得られない場合は、アプリの 1 つに対してバグを報告できます。
コピー元のアプリを終了すると、貼り付けができなくなることがあります。(「クリップボードマネージャー」などを実行している場合を除きます。)これは、宛先アプリが貼り付ける形式を要求するまで、実際にソースアプリからデータが送信されないためです。そのデータをコピーして保存するたびにすぐにデータを要求する「クリップボード マネージャー」があるため、ソース アプリの終了後に貼り付けることができますが、欠点があります (データが巨大な場合、または 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()))