最初の誤解:
選択したテキストはすぐにクリップボードに送信されます
実際、テキストは、受信側アプリケーションによって要求されるまで、どこにも「送信」されません。テキストを選択すると、アプリケーションは選択範囲のみを要求します。これは、基本的に、これから所有権があることを示すフラグを立てることを意味します。
あなたの質問に今:
X11では、複数の選択が可能です。それらの2つはよく知られた名前を持ち、標準化されています。PRIMARYおよびCLIPBOARDと呼ばれます。それぞれの従来の動作は次のとおりです。
- プライマリ
- テキストが選択されると、アプリケーションはPRIMARYを要求します
- アプリケーションは、所有するアプリケーションにPRIMARYを要求し、中クリックでその内容を貼り付けます。
- クリップボード
- 明示的なコマンドが与えられると、アプリケーションはCLIPBOARDを要求します。通常はCtrl- cです。
- アプリケーションは、所有するアプリケーションにCLIPBOARDを要求し、明示的なコマンド(通常はCtrl-)が与えられたときにその内容を貼り付けますv。
- CLIPBOARDを所有するアプリケーションはないが、PRIMARYを所有するアプリケーションがある場合、Ctrl-の代わりにprimaryを貼り付けるなど、不明な追加ルールがあるかもしれませんv。
CLIPBOARDはすでに必要なことを行っているようです。必要に応じてPRIMARYを無視できます(ただし、一部の古いアプリケーションxterm
はPRIMARYのみをサポートしている場合があることに注意してください)。個人的には反対のことをします。CLIPBOARDを無視し、PRIMARYのみを使用します。X11の使い方を学んだのはこれだけだと思いますが、最初はCLIPBOARDがあることすら知りませんでした。しかし、あなたが説明する問題を軽減するために、私たちは多くの場合、PRIMARYセレクションのプッシュ可能かつポップ可能なスタックがあることを望みます。
PRIMARY動作を無効にできるかどうかについての明確な質問に答えて、それは非常に難しいと思います。最も簡単な方法は、各アプリケーション(またはアプリケーションが使用するツールキット)で個別に無効にすることです。PRIMARYを要求する要求をブロックする一種の「X11ファイアウォール」を構築できると思いますが、PRIMARYを無視してCLIPBOARDのみを使用することで既に得られるもの以上のものを実際に購入できるとは思いません。
詳細:プライマリ選択とクリップボードバッファーの違いは何ですか?