Wayland に切り替えると、閉じたウィンドウから貼り付けられない問題は修正されますか?

Wayland に切り替えると、閉じたウィンドウから貼り付けられない問題は修正されますか?

私は最近Xorgがなぜ悪いのかを読んでくださいのために悪名高いバグユーザーはウィンドウを閉じた後にコピー&ペーストができなくなる。そして、私は最終的にXの代替としてのWayland

このバグが X の結果であり、X が Wayland に置き換えられる場合、その時点で修正が行われる可能性はありますか? これが技術的に可能かどうか、現在計画されているかどうかが気になります。

答え1

まあ、これはバグではないと思いますが、むしろ予期しない結果をもたらす機能です:) さらに、私の理解では、他の「クリップボードマネージャ」、つまりウィンドウズそしてMacOSX の場合、非常に似た方法で動作します - コピー操作が実行されると、アプリケーションはクリップボードマネージャに「何かが見つかりました」と通知するだけで、実際のデータは渡されません(ただし、上記のOSでは、アプリケーションはできるデータを物理的にクリップボードに保存します (XWindow はこれを別のアプリケーションである「クリップボード マネージャー」に任せます)。

その理由は、コピーしたデータを貼り付ける前に、ある形式から別の形式に変換する必要があることが多いことを考えると明らかです。例: 出版プログラムからテキスト フレームをコピーして、同じプログラムに貼り付けると、テキスト フレームのサイズ、境界線、変形などが保持されます。次に、同じものをテキスト プロセッサに貼り付けると、リッチ フォーマットのテキストが作成されますが、テキスト プロセッサはこれについて何も認識しないため、テキスト フレームのプロパティは失われます。次に、同じものをテキスト エディターに貼り付けると、フォーマットされていないプレーン テキストが作成されます。

さて、それはどのように機能するのでしょうか?出版プログラムの独自のデータ形式は、テキストプロセッサが理解できる形式に変換されるのでしょうか、それとも単なるプレーンテキストに変換されるのでしょうか?明らかに、Xサーバーはすべての可能なデータ形式について何も知らないため、変換を行うことはできません。また、受け取るアプリケーションは同じ理由で変換を実行できません。

このプロセスについて私が理解しているのは、何かがコピーされると、アプリケーションがクリップボード マネージャーに、データを提供できる形式について通知するということです。「独自の形式、リッチ テキスト、またはプレーン テキストに変換できるものがあります」。

次に、他のアプリケーションは、クリップボードに理解できる形式のものがあるかどうかを確認します。

if (clipboad.contains_data_in_formats("image", "rich text", "plain text")) {
    enable_Paste_menu_item();
}

次に、貼り付けアクションを選択すると、最終結果はソースアプリケーションでは、必要な形式でデータを提供するよう求められます。

アプリケーションを終了するとき、標準クリップボード マネージャーにデータを保存できると書かれています:

If a client needs to exit while owning the CLIPBOARD selection, 
it should request the clipboard manager to take over the ownership 
of the clipboard, using the SAVE_TARGETS mechanism. If there is no 
clipboard manager, or if the SAVE_TARGETS conversion fails, the 
application should simply exit.

つまり、データを保存するのはアプリケーションの責任だというのが私の理解です。したがって、Wayland がこの点に関して何かを改善する可能性は低いでしょう :)

関連情報