web-dev-qa-db-ja.com

クリップボードに送信されるテキスト選択を切り替えるまたはオフにする方法

選択したテキストがすぐにクリップボード(Mint、Ubuntu、Fedora、SuSEなど)とすべてのウィンドウマネージャー(Gnome)に送信される、これまでに試したすべてのLinuxディストリビューションで発生する可能性があるデフォルトの動作を無効にしたい、KDE、Cinnamon)、Windows実装のように動作します。

これはLinuxで多くの人に愛されている行動であることは知っています。私がこれをしたい理由は、私がGUIをナビゲートするときのキーボードジャンキーだからです。 (たとえば、LinuxでURLをコピーしてからブラウザーに切り替えてCtrl + Lを押すと、アドレスバーが選択され、目的の貼り付けが1つ下に移動して、上書きしようとしている内容に置き換えられます。 )私は多くの回避策があることを知っていますが、私はそれについてはあまり気にしません。クリップボードの動作を切り替えられるようにしたいのですが。

11
syserss

まず誤解:

選択したテキストはすぐにクリップボードに送信されます

実際、テキストは、受信側アプリケーションによって要求されるまで、どこにも「送信」されることはありません。テキストを選択すると、アプリケーションのみが選択を要求します。つまり、基本的には、これからそれを所有していることを示すフラグを立てます。

さてあなたの質問に:

X11では、複数の選択が可能です。それらの2つは、よく知られた名前を持ち、標準化されています。それらは、PRIMARYおよびCLIPBOARDと呼ばれます。それぞれの従来の動作は次のとおりです。

  • [〜#〜]プライマリ[〜#〜]
    • テキストが選択されている場合、アプリケーションはPRIMARYを要求します
    • アプリケーションは、所有しているアプリケーションにPRIMARYを要求し、そのコンテンツを中クリックで貼り付けます。
  • [〜#〜]クリップボード[〜#〜]
    • 明示的なコマンドが与えられると、アプリケーションはCLIPBOARDを要求します。通常、 Ctrl-c
    • アプリケーションは、所有しているアプリケーションにCLIPBOARDを要求し、通常、明示的なコマンドが与えられたときにその内容を貼り付けます。 Ctrl-v
    • アプリケーションがCLIPBOARDを所有しておらず、一部のアプリケーションがPRIMARYを所有している場合、代わりにプライマリを貼り付けるなど、不明な追加ルールがある可能性があります。 Ctrl-v

CLIPBOARDはすでに必要なことを行っているようです。必要に応じて、PRIMARYを無視できます(ただし、xtermなどの一部の古いアプリケーションは、PRIMARYしかサポートしていない場合があります)。個人的に私は反対のことをします。CLIPBOARDを無視して、PRIMARYのみを使用します。それがX11の使い方を学んだ方法だと思いますが、最初はクリップボードがあることさえ知りませんでした。しかし、あなたが説明している問題を軽減するために、私はしばしば、PRIMARYセレクションのプッシュ可能でポップ可能なスタックがあったので、別のもので壊した後で前のセレクションに「ポップ」できるようにしたいと思います。

PRIMARYの動作を無効にできるかどうかについての明確な質問に対して、私はそれは非常に難しいと思います。最も簡単な方法は、各アプリケーション(またはアプリケーションが使用するツールキット)で個別に無効にすることですが、これは実際には不可能です。 PRIMARYを要求するリクエストをブロックする「X11ファイアウォール」のようなものを構築できると思いますが、PRIMARYを無視してCLIPBOARDだけを使用することですでに得られる以上のものは購入できないと思います。

詳細: プライマリセレクションとクリップボードバッファーの違いは何ですか?

11
Celada

KDEプラズマのクリップボードアプリケーションで、クリップボードの内容をSynchronizeして、selectionオプションを誤って有効にしました。これをオフにすると、同様の問題が解決しました。

KDE Plasma Clipboard utility configuration

10
Batandwa

すべてのGnomeアプリケーションでは、Gnome-Tweaks/Keyboard&Mouse/Middle Click Paste(gtk-enable-primary-paste Gnomeオプションを切り替えます)からMiddle Click Pasteを無効にできます。

X全体で機能し、真ん中のクリックを完全に無効にしない(たとえば、ブラウザーでタブを閉じる)ソリューションは XMousePasteBlock であり、ユーザーが実行する必要があります。これはArchにもパッケージ化されています [〜#〜] aur [〜#〜]

2
Ilario Gelmetti

XFCEでも同じ問題があり、さらに悪いことに、自動選択によってx2go、vncなどのリモートビューアーでコピー/貼り付けが中断されてしまいました。テキストを選択するたびに、新しいセッションを再度開いて解決する必要がありました。

solution:シェルからxfce4-clipmanを実行し、タスクバーを右クリックしてプロパティを選択し、無効にします選択を無視しますおよび同期選択

enter image description here

このメソッドの@ sweisgerber.devに感謝

1
Badr Elmers