クリップボード
Wikipedia より:
- クリップボードは、一時的にデータを保存できる共有のメモリ領域のことで、コピーアンドペースト操作による文章やアプリケーション間のデータの移動に使われる。
目次
歴史
"カットバッファ" が導入されたのは X10 でした。カットバッファは任意のテキストを保存する制限付きのバッファで、様々なアプリケーションによって使われました。しかしながら、カットバッファは使い物にならず実装も統一されてなかったので、セレクションが導入されました。久しくカットバッファは非推奨となっていますが、(xterm など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。
セレクション
Freedesktop.org は二つの主なセレクションを次のように説明しています。[1]
- PRIMARY
- 現在選択されているテキストを明示的にコピーしていない場合でも、マウスを中クリックして貼り付けるときに使用します。キーボードショートカットを使用して貼り付けることもできます。
- CLIPBOARD
- キーボードショートカットやメニュー項目を含む明示的なコピー&ペーストのコマンドに使用されます。従って、Windows のシングルクリップボードシステムと同じように動作する。PRIMARY とは異なり、複数のデータ形式を扱うこともできます。
Qt や GTK のアプリケーションを含む Xorg 用のプログラムの大半はこの動作に従います。ICCCM は SECONDARY セレクションも定義していますが、これには合意された目的はありません。名前に反して、3 つのセレクションは基本的に "クリップボード"です。カットバッファに格納されたデータを任意のアプリケーションが変更できる旧来の"カットバッファ"システムとは異なり、一度に 1 つのアプリケーションのみが選択項目を制御または"所有"することができます。これにより、セレクションの操作に矛盾が生じることを防いでいます。
多くのプログラムのデフォルトのショートカット一覧をキーボードショートカットのページで参照してください。
選択プロトコルに従って、貼り付けられる までは何もコピーされないことを理解することが重要です。例えば、ターミナルウィンドウで単語を選択し、ターミナルウィンドウを閉じてからどこかに貼り付けようとすると、ターミナルが消えていてテキストがどこにもコピーされていないため、うまくいきません。ターミナルウィンドウを閉じた後も単語を保存しておきたい場合は、クリップボードマネージャのインストールを検討してください。
中クリックの動作
以下は、中クリックによるコピー&ペーストの動作を PRIMARY から変更するもので、中クリックを無効にしたり、新しいタブで開いたりスクロールしたりといった他の機能を変更したりすることはありません。
全般
PRIMARY のクリア
スクリプトを実行する
#!/bin/sh while true; do xsel -fin </dev/null done
sxhkd を使用する
sxhkd を使用して、設定ファイルに以下を追加します。
button2 echo -n | xclip -in
アプリケーション固有
- GTK — GTK#マウス中ボタンでのペーストを無効化を参照
- Firefox — Firefox#中クリックの動作を参照
- LibreOffice — Tools > Options > LibreOffice > View > Mouse から無効にできます。
ツール
この章では、クリップボードを操作するためのコマンドラインツールを紹介します。
- sselp — シンプルな X セレクションプリンター。 X 選択を stdout に出力します。
- xclip — 軽量な、コマンドラインベースのクリップボードインターフェイス。
- xsel — X セレクションの中身を取得・設定するためのコマンドラインプログラム。
- wl-clipboard — Wayland コンポジタ用のシンプルなコピー/ペーストツール
クリップボードマネージャ
この章では、クリップボード履歴や同期などの追加機能を提供するクリップボードマネージャの一覧を示します。
- Anamnesis — 全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。
- Autocutsel — PRIMARY,
CLIPBOARD
とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。
- Clipboard — 複数の異なるクリップボード、固定クリップボード、および正規表現選択を備えたコマンドラインベースのの使いやすいクリップボードマネージャ。
- Clipboard Indicator — GNOME Shell のクリップボードマネージャ拡張。トップパネルにクリップボードのインジケータを追加して、クリップボードの履歴をキャッシュします。
- https://extensions.gnome.org/extension/779/clipboard-indicator/ || https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator
- Clipcat — Rust で書かれたクリップボードマネージャー
- ClipIt — Parcellite に機能の追加とバグフィックスをしたフォーク。
- Clipman — Xfce のクリップボードマネージャ。通常は中身が失われてしまうアプリケーションの終了をしてもクリップボードの中身を保持し続けます。テキストと画像を処理することができ、正規表現にマッチさせて特定のテキストを選択したときにアクションを実行する機能があります。
- ClipManager — Python と Qt で書かれたクロスプラットフォームのクリップボードマネージャ。
- Clipmenu — Dmenu ベースのクリップボードマネージャ。
- Clipmon — Wayland 用の軽量クリップボードマネージャ。アプリケーションが独自にクリップボードから貼り付けたときに通知を送信する監視ツールとして計画されています。(この機能は開発中です)
- clipsim — C で書かれたシンプルで高速な X クリップボードマネージャ。
- Clipster — 軽量でコマンドラインによって操作できるクリップボードマネージャ。Python で書かれています。
- Clipton — Rofi をフロントエンドとしたクリップボードマネージャ。
- CopyQ — 検索・編集できる履歴や、カスタムアクション、コマンドラインサポートのある賢いクリップボードマネージャ。
- Gnome Clipboard History — Gnome Clipboard History は、コピーした内容に簡単にアクセスでき、検索可能な履歴パネルに保存する GNOME 拡張機能のクリップボードマネージャです。
- Glipper — プラグインをサポートする高機能な GNOME 向けクリップボードマネージャ。
- GPaste — 次世代の Parcellite になることを目指しているクリップボード管理システム。モジュール構造を取っており複数のライブラリとデーモンに分割されています。GNOME Shell 拡張と CLI インターフェイスを提供。
- Greenclip — rofi ベースのシンプルなクリップボードマネージャ
- Klipper — KDE デスクトップ向けのフル機能のクリップボードマネージャ。
- Parcellite — 軽量かつ高機能なクリップボードマネージャ。
- Qlipper — 軽量なクロスプラットフォームのクリップボード履歴アプレット、Qt ベース。
- xclipboard — 公式の X クリップボードコマンドラインクライアント。
- xcmenu — ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。