web-dev-qa-db-ja.com

Xクリップボードの違いは何ですか?

  • プライマリ
  • 二次
  • クリップボード
  • バッファをカットします

これらの違いは何ですか?

Xclipとgeditの実験:

プライマリの設定

私の知る限り、何も起こりません

二次設定

繰り返しますが、私が知る限り、geditには影響しません

クリップボードの設定

編集およびコンテキストメニューのpasteは無効になっていますが、control-vを押すと、貼り付けたいテキストが表示されます。

Geditでコピーする

primaryclipboardを設定しているようです

それぞれは何に使用されますか?それらは通常、プログラムでどのようにアクセスされますか?それはどのように実装されていますか?それらはルートウィンドウのプロパティですか(ある場合、それらの名前は何ですか)?

バッファをカットします

クリップバッファは、テキストを選択するとxtermで使用され、中クリックすると貼り付けられることを理解しています。他のプログラムはカットバッファを使用しますか?

7

X選択、カットバッファー、およびキルリング

クリップボード:ユーザーが明示的に何かをコピーした場合(例:「編集/コピー」メニュー項目)
プライマリ:より短命で暗黙的:ユーザーが何かを強調表示または選択した場合(たとえば、テキスト上でマウスをドラッグした場合) 。)
バッファのカット:廃止されました。決して、決して、決してそれらを使用しないでください。これまで。

二次? ICCCCCCCMで定義されていますが、それを使用するsingleプログラムが見つかりません。


Xウィンドウの選択に関するウィキペディアの記事によると、カットバッファのみがルートウィンドウのウィンドウプロパティであり、CUT_BUFFER1 等々。

7
user1686

Xはそれらを「クリップボード」ではなく「選択」と呼んでいます。から ウィキペディア (記事全体もおそらくあなたを助けるでしょう):

コアプロトコルのレベルでは、PRIMARYとCLIPBOARDの選択に違いはありません。ただし、xclipboardクライアントでは、動作が異なります。特に、別のクライアントがCLIPBOARD選択の所有権を表明すると、このプログラムはそれを要求してウィンドウに表示します。この選択に対するそれ以上の要求は、xclipboardによって処理されます。このようにして、選択内容は、クライアントがそれをコピーした後も存続します。

それらの間に固有の違いはありません。唯一の違いは、それらを使用するアプリケーションの動作にあります。たとえば、次のようなプログラムを作成できます。押された ctrlv、クリップボードの代わりに一次選択を使用しました。技術的な観点からはまったく問題ありません。違いは、ユーザーが特定の行動を期待するという点で社会的であり、ほとんどの場合、それに従うのが賢明です。

テキストを選択して中クリックして貼り付けるのは、カットバッファー(非推奨)ではなく、プライマリ選択を使用していると思いましたが、Xプロトコルに対して直接コーディングしたことがないため、間違っている可能性があります。

3
Roger Pate