「クリップボード」の版間の差分
(翻訳ステータス更新) |
|||
(7人の利用者による、間の54版が非表示) | |||
1行目: | 1行目: | ||
[[Category:X サーバー]] |
[[Category:X サーバー]] |
||
+ | [[Category:ソフトウェア一覧]] |
||
[[en:Clipboard]] |
[[en:Clipboard]] |
||
+ | [[es:Clipboard]] |
||
[[fr:Copier coller]] |
[[fr:Copier coller]] |
||
+ | {{Related articles start}} |
||
− | [[Wikipedia:ja:クリップボード]] より: |
||
+ | {{Related|ターミナルからテキストをコピー}} |
||
+ | {{Related|Firefox#中クリックの動作}} |
||
+ | {{Related|GTK#マウスの貼り付け機能を無効化}} |
||
+ | {{Related|Vim#クリップボード}} |
||
+ | {{Related articles end}} |
||
+ | [[Wikipedia:ja:クリップボード|Wikipedia]] より: |
||
:クリップボードは、一時的にデータを保存できる共有のメモリ領域のことで、[[Wikipedia:ja:コピー・アンド・ペースト|コピーアンドペースト]]操作による文章やアプリケーション間のデータの移動に使われる。 |
:クリップボードは、一時的にデータを保存できる共有のメモリ領域のことで、[[Wikipedia:ja:コピー・アンド・ペースト|コピーアンドペースト]]操作による文章やアプリケーション間のデータの移動に使われる。 |
||
== 歴史 == |
== 歴史 == |
||
− | "カットバッファ"が導入されたのは X10 でした。カットバッファは任意のテキストを保存する制限付きのバッファで、様々なアプリケーションによって使われました。しかしながら、カットバッファは使い物にならず実装も統一されてなかったので、セレクションが導入されました。久しくカットバッファは非推奨となっていますが、(xterm など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。 |
+ | "カットバッファ" が導入されたのは X10 でした。カットバッファは任意のテキストを保存する制限付きのバッファで、様々なアプリケーションによって使われました。しかしながら、カットバッファは使い物にならず実装も統一されてなかったので、セレクションが導入されました。久しくカットバッファは非推奨となっていますが、([[xterm]] など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。 |
− | == |
+ | == セレクション == |
+ | [[Freedesktop.org]] は二つの主な''セレクション''を次のように説明しています。[https://specifications.freedesktop.org/clipboards-spec/clipboards-latest.txt] |
||
− | [http://tronche.com/gui/x/icccm/ ICCCM] (Inter-Client Communication Conventions Manual) は3つの"セレクション"を定義しています: PRIMARY, SECONDARY, CLIPBOARD。その名前とは異なり、この3つはどれも基本的には"クリップボード"です。旧"カットバッファ"システムでは任意のアプリケーションがカットバッファに保存されているデータに手を出すことができましたが、セレクションをコントロールまたは"所有"することができるアプリケーションは一度に一つのアプリケーションだけです。これによってセレクションを操作するときに整合性が破れるのを防ぎます。ただし、仮想マシンの Windows とクリップボードを共有している (単一のクリップボードシステムを使っている) 場合など、おかしな結果になることもあります。 |
||
+ | ;PRIMARY: 現在選択されているテキストを明示的にコピーしていない場合でも、マウスを中クリックして貼り付けるときに使用します。キーボードショートカットを使用して貼り付けることもできます。 |
||
− | 3つのセレクションのうち、ユーザーが気にする必要があるのは PRIMARY と CLIPBOARD だけです。SECONDARY はときどき PRIMARY の代わりとして使われることがあるにすぎません。アプリケーションによって PRIMARY と CLIPBOARD の扱い方は様々ですが、ある程度の決まり事が存在します。CLIPBOARD は Windows のようなクリップボードとして使用され、PRIMARY はマウスやキーボードでテキストを選択して、中マウスボタンで貼り付けるような、"即座"の使われ方をします。PRIMARY は混乱を生じさせることがあり、場合によっては、悪いアプリケーションによって予期しない結果を生むことがあります。 |
||
+ | ;CLIPBOARD: キーボードショートカットやメニュー項目を含む明示的なコピー&ペーストのコマンドに使用されます。従って、Windows のシングルクリップボードシステムと同じように動作する。PRIMARY とは異なり、[https://stackoverflow.com/questions/3571179/how-does-x11-clipboard-handle-multiple-data-formats 複数のデータ形式]を扱うこともできます。 |
||
+ | [[Qt]] や [[GTK]] のアプリケーションを含む [[Xorg]] 用のプログラムの大半はこの動作に従います。[https://tronche.com/gui/x/icccm/ ICCCM] は SECONDARY セレクションも定義していますが、これには合意された目的はありません。名前に反して、3 つのセレクションは基本的に "クリップボード"です。カットバッファに格納されたデータを任意のアプリケーションが変更できる旧来の"カットバッファ"システムとは異なり、一度に 1 つのアプリケーションのみが選択項目を制御または"所有"することができます。これにより、セレクションの操作に矛盾が生じることを防いでいます。 |
||
− | == クリップボードマネージャの一覧 == |
||
+ | 多くのプログラムのデフォルトのショートカット一覧を[[キーボードショートカット]]のページで参照してください。 |
||
− | クリップボードマネージャはユーザーがクリップボードを操作できるようにするアプリケーションです。クリップボードマネージャの多くは以前に使用したクリップボードを同期することもできます。 |
||
+ | |||
+ | 選択プロトコルに従って、[https://unix.stackexchange.com/questions/213840/how-to-toggle-or-turn-off-text-selection-being-sent-to-the-clipboard/213843#213843 貼り付けられる] までは何もコピーされないことを理解することが重要です。例えば、ターミナルウィンドウで単語を選択し、ターミナルウィンドウを閉じてからどこかに貼り付けようとすると、ターミナルが消えていてテキストがどこにもコピーされていないため、うまくいきません。ターミナルウィンドウを閉じた後も単語を保存しておきたい場合は、[[クリップボードマネージャ]]のインストールを検討してください。 |
||
+ | |||
+ | {{Note|[[クリップボードマネージャ]]はユーザーエクスペリエンスを大きく変えることができます。例えば、PRIMARY と CLIPBOARD の選択を同期させ、シングルクリップボードシステムをエミュレートすることができます。}} |
||
+ | |||
+ | == 中クリックの動作 == |
||
+ | |||
+ | 以下は、中クリックによるコピー&ペーストの動作を 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 から無効にできます。 |
||
+ | |||
+ | == ツール == |
||
+ | |||
+ | この章では、クリップボードを操作するためのコマンドラインツールを紹介します。 |
||
+ | |||
+ | * {{App|sselp|シンプルな X セレクションプリンター。 X 選択を stdout に出力します。|https://tools.suckless.org/x/sselp|{{AUR|sselp}}}} |
||
+ | * {{App|xclip|軽量な、コマンドラインベースのクリップボードインターフェイス。|https://github.com/astrand/xclip|{{Pkg|xclip}}}} |
||
+ | * {{App|xsel|X セレクションの中身を取得・設定するためのコマンドラインプログラム。|http://www.vergenet.net/~conrad/software/xsel/|{{Pkg|xsel}}}} |
||
+ | * {{App|wl-clipboard|Wayland コンポジタ用のシンプルなコピー/ペーストツール|https://github.com/bugaevc/wl-clipboard|{{Pkg|wl-clipboard}}}} |
||
+ | |||
+ | {{Tip|Wayland 上のクリップボードは {{Pkg|wl-clipboard}} で {{ic|wl-paste -pw wl-copy}} を使って同期させることができます。}} |
||
+ | |||
+ | == クリップボードマネージャ == |
||
+ | |||
+ | この章では、クリップボード履歴や同期などの追加機能を提供するクリップボードマネージャの一覧を示します。 |
||
* {{App|Anamnesis|全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。|http://anamnesis.sourceforge.net/|{{AUR|anamnesis}}}} |
* {{App|Anamnesis|全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。|http://anamnesis.sourceforge.net/|{{AUR|anamnesis}}}} |
||
− | * {{App|Autocutsel|PRIMARY, {{Ic|CLIPBOARD}} とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。| |
+ | * {{App|Autocutsel|PRIMARY, {{Ic|CLIPBOARD}} とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。|https://www.nongnu.org/autocutsel/|{{Pkg|autocutsel}}}} |
+ | * {{App|Clipboard|複数の異なるクリップボード、固定クリップボード、および正規表現選択を備えたコマンドラインベースのの使いやすいクリップボードマネージャ。|https://github.com/Slackadays/Clipboard|{{AUR|clipboard}}}} |
||
− | * {{App|ClipIt|Parcellite に機能の追加とバグフィックスをしたフォーク。|http://sourceforge.net/projects/gtkclipit/|{{Pkg|clipit}}}} |
||
− | * {{App| |
+ | * {{App|Clipboard Indicator|GNOME Shell のクリップボードマネージャ拡張。トップパネルにクリップボードのインジケータを追加して、クリップボードの履歴をキャッシュします。|https://extensions.gnome.org/extension/779/clipboard-indicator/|https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator}} |
− | * {{App| |
+ | * {{App|Clipcat|Rust で書かれたクリップボードマネージャー|https://github.com/xrelkd/clipcat|{{Pkg|clipcat}}}} |
+ | * {{App|ClipIt|Parcellite に機能の追加とバグフィックスをしたフォーク。|https://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}} |
||
+ | * {{App|Clipman|Xfce のクリップボードマネージャ。通常は中身が失われてしまうアプリケーションの終了をしてもクリップボードの中身を保持し続けます。テキストと画像を処理することができ、正規表現にマッチさせて特定のテキストを選択したときにアクションを実行する機能があります。|https://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin|{{Pkg|xfce4-clipman-plugin}}}} |
||
+ | * {{App|ClipManager|Python と Qt で書かれたクロスプラットフォームのクリップボードマネージャ。|https://github.com/scottwernervt/clipmanager|{{AUR|clipmanager}}}} |
||
+ | * {{App|[[Clipmenu]]|Dmenu ベースのクリップボードマネージャ。|https://github.com/cdown/clipmenu/|{{Pkg|clipmenu}}}} |
||
+ | * {{App|Clipmon|Wayland 用の軽量クリップボードマネージャ。アプリケーションが独自にクリップボードから貼り付けたときに通知を送信する監視ツールとして計画されています。(この機能は開発中です)|https://git.sr.ht/~whynothugo/clipmon|{{AUR|clipmon-git}}}} |
||
+ | * {{App|clipsim|C で書かれたシンプルで高速な X クリップボードマネージャ。|https://github.com/lucas-mior/clipsim|{{AUR|clipsim-git}}}} |
||
+ | * {{App|Clipster|軽量でコマンドラインによって操作できるクリップボードマネージャ。Python で書かれています。|https://github.com/mrichar1/clipster|{{AUR|clipster-git}}}} |
||
+ | * {{App|Clipton|Rofi をフロントエンドとしたクリップボードマネージャ。|https://github.com/madprops/clipton|{{AUR|clipton-git}}}} |
||
+ | * {{App|CopyQ|検索・編集できる履歴や、カスタムアクション、コマンドラインサポートのある賢いクリップボードマネージャ。|https://github.com/hluk/CopyQ|{{Pkg|copyq}}}} |
||
+ | * {{App|Gnome Clipboard History|Gnome Clipboard History は、コピーした内容に簡単にアクセスでき、検索可能な履歴パネルに保存する GNOME 拡張機能のクリップボードマネージャです。|https://github.com/SUPERCILEX/gnome-clipboard-history|{{AUR|gnome-shell-extension-clipboard-history}}}} |
||
* {{App|[[Wikipedia:Glipper|Glipper]]|プラグインをサポートする高機能な GNOME 向けクリップボードマネージャ。|https://launchpad.net/glipper|{{AUR|glipper}}}} |
* {{App|[[Wikipedia:Glipper|Glipper]]|プラグインをサポートする高機能な GNOME 向けクリップボードマネージャ。|https://launchpad.net/glipper|{{AUR|glipper}}}} |
||
− | * {{App|GPaste|次世代の Parcellite になることを目指しているクリップボード管理システム。モジュール構造を取っており複数のライブラリとデーモンに分割されています。GNOME Shell 拡張と CLI インターフェイスを提供。|https://github.com/Keruspe/GPaste|{{ |
+ | * {{App|GPaste|次世代の Parcellite になることを目指しているクリップボード管理システム。モジュール構造を取っており複数のライブラリとデーモンに分割されています。GNOME Shell 拡張と CLI インターフェイスを提供。|https://github.com/Keruspe/GPaste|{{Pkg|gpaste}}}} |
− | * {{App|[[ |
+ | * {{App|[[Greenclip]]|rofi ベースのシンプルなクリップボードマネージャ|https://github.com/erebe/greenclip|{{AUR|rofi-greenclip}}}} |
+ | * {{App|[[Wikipedia:ja:Klipper|Klipper]]|KDE デスクトップ向けのフル機能のクリップボードマネージャ。|http://userbase.kde.org/Klipper|{{Pkg|plasma-workspace}}}} |
||
* {{App|Parcellite|軽量かつ高機能なクリップボードマネージャ。|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}} |
* {{App|Parcellite|軽量かつ高機能なクリップボードマネージャ。|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}} |
||
− | * {{App| |
+ | * {{App|Qlipper|軽量なクロスプラットフォームのクリップボード履歴アプレット、Qt ベース。|https://github.com/pvanek/qlipper/|{{AUR|qlipper}}}} |
− | * {{App| |
+ | * {{App|xclipboard|公式の X クリップボードコマンドラインクライアント。|https://www.x.org/releases/X11R7.5/doc/man/man1/xclipboard.1.html|{{Pkg|xorg-xclipboard}}}} |
− | * {{App|Xclip|軽量な、コマンドラインベースのクリップボードインターフェイス。|http://sourceforge.net/projects/xclip/|{{Pkg|xclip}}}} |
||
* {{App|xcmenu|ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。|https://github.com/Cloudef/xcmenu|{{AUR|xcmenu-git}}}} |
* {{App|xcmenu|ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。|https://github.com/Cloudef/xcmenu|{{AUR|xcmenu-git}}}} |
||
== 参照 == |
== 参照 == |
||
− | * [ |
+ | * [https://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt Cut-and-paste in X] |
* [http://www.jwz.org/doc/x-cut-and-paste.html X Selections, Cut Buffers, and Kill Rings.] |
* [http://www.jwz.org/doc/x-cut-and-paste.html X Selections, Cut Buffers, and Kill Rings.] |
||
+ | * [https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html X11: How does “the” clipboard work?] |
||
+ | |||
+ | {{TranslationStatus|Clipboard|2024/02/25|703970}} |
2024年2月25日 (日) 18:17時点における最新版
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 — ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。