4

ICCCM では、1) プライマリ 2) セカンダリ 3) クリップボードの 3 つの選択肢が定義されています。しかし、xlib では、xatom.h は XA_PRIMARY と XA_SECONDARY しか定義していませんでしたが、クリップボードにはそのようなアトムはありません。だから私の疑問は、クリップボードが xlib によって実装されているのか、それともプライマリやセカンダリなどの個々のアプリケーションによって実装されている必要があるのか​​ということです?

個々のアプリケーションで実装する必要がある場合、あるアプリケーションのウィンドウからコピーして別のアプリケーションのウィンドウに貼り付けるなど、さまざまなアプリケーションがクリップボードとどのようにやり取りするのでしょうか..? 異なるアプリケーションが共通のバッファを共有する方法は? Linuxでのクリップボードの実際の実装を手伝ってくれる人はいますか..? 私はこのリンクを通過しました。しかし、実装に関する多くの情報は見つかりません。

4

2 に答える 2

3

クリップボードは、すべての X11 クライアントによって共有されるデータであるため、X11 サーバーに実装する必要があります(ツールキット内の多くのサポート コードを使用)。

これは、 ICCCMおよびEWMH規則によって定義され、デスクトップ環境に関連しています。事前定義されていないが慣習的に名前が付けられた X11 アトムを使用する場合があります ( xatom.h.

Qt や Gtk (または FOX や FLTK) などの既存のツールキットを使用することをお勧めします。これらはフリー ソフトウェアであり、必要に応じて内部を調べることができます。Qt の場合はQClipboardを調べ、GTK の場合はGtkClipboardを調べます。したがって、どのアトムと X11 プロトコルを使用してそれらを実装するかはあまり気にしません。

freedesktop.orgには、このwm-specなどなど、多くのリソースがあります。

X Windows の選択X Windows システムのプロトコルとアーキテクチャXDNDに関するウィキページも参照し、 X11 プロトコルの仕様を読んでください。

于 2013-11-04T06:01:03.360 に答える