「クリップボード」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→Middle-click behavior: 飜訳) |
(→セレクション: 同期) |
||
(3人の利用者による、間の15版が非表示) | |||
3行目: | 3行目: | ||
[[en:Clipboard]] |
[[en:Clipboard]] |
||
[[es:Clipboard]] |
[[es:Clipboard]] |
||
− | [[ |
+ | [[ru:Clipboard]] |
+ | [[zh-hans:Clipboard]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|ターミナルからテキストをコピー}} |
{{Related|ターミナルからテキストをコピー}} |
||
− | {{Related|Firefox# |
+ | {{Related|Firefox#中クリックの動作}} |
− | {{Related|GTK#マウス |
+ | {{Related|GTK#マウスの貼り付け機能を無効化}} |
{{Related|Vim#クリップボード}} |
{{Related|Vim#クリップボード}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
15行目: | 16行目: | ||
== 歴史 == |
== 歴史 == |
||
− | + | [[w:X_Window_selection#Cut_buffers|カットバッファ]] が導入されたのは X10 ([[w:X_Window_System#Release history|1985]]) でした。カットバッファは任意のテキストを保存する制限付きのバッファで、様々なアプリケーションによって使われました。しかしながら、カットバッファは使い物にならず実装も統一されてなかったので、セレクションが導入されました。久しくカットバッファは非推奨となっていますが、([[xterm]] など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。 |
|
== セレクション == |
== セレクション == |
||
− | [[Freedesktop.org]] は二つの |
+ | [[Freedesktop.org]] は、主要な二つの [[w:X_Window_selection#Selections|選択]] について次のように説明しています:[https://specifications.freedesktop.org/clipboard-spec/latest/] |
;PRIMARY: 現在選択されているテキストを明示的にコピーしていない場合でも、マウスを中クリックして貼り付けるときに使用します。キーボードショートカットを使用して貼り付けることもできます。 |
;PRIMARY: 現在選択されているテキストを明示的にコピーしていない場合でも、マウスを中クリックして貼り付けるときに使用します。キーボードショートカットを使用して貼り付けることもできます。 |
||
− | ;CLIPBOARD: キーボードショートカットやメニュー項目を含む明示的なコピー&ペーストのコマンドに使用されます。従って、Windowsのシングルクリップボードシステムと同じように動作する。PRIMARYとは異なり、[https://stackoverflow.com/questions/3571179/how-does-x11-clipboard-handle-multiple-data-formats 複数のデータ形式]を扱うこともできます。 |
+ | ;CLIPBOARD: キーボードショートカットやメニュー項目を含む明示的なコピー&ペーストのコマンドに使用されます。従って、Windows のシングルクリップボードシステムと同じように動作する。PRIMARY とは異なり、[https://stackoverflow.com/questions/3571179/how-does-x11-clipboard-handle-multiple-data-formats 複数のデータ形式]を扱うこともできます。 |
− | [[Qt]] や [[GTK]] |
+ | [[Xorg]] 用のプログラムの大多数、例えば [[Qt]] や [[GTK]] アプリケーションなどは、この動作に従います。[https://tronche.com/gui/x/icccm/ ICCCM] では SECONDARY 選択も定義されていますが、その用途については合意が得られていません。名称にかかわらず、これら三つの選択は基本的に "クリップボード" と同じものです。従来の "カットバッファ"システムでは、任意のアプリケーションがカットバッファに保存されたデータを変更できましたが、新しい選択システムでは、一度に一つのアプリケーションだけが選択を制御または "所有" できます。これにより、選択の動作における不整合を防いでいます。 |
− | 多くのプログラムのデフォルトのショートカット一覧を |
+ | 多くのプログラムのデフォルトのショートカット一覧を[[キーボードショートカット]]のページで参照してください。 |
− | 選択プロトコルに |
+ | 選択プロトコルによると、テキストは [https://unix.stackexchange.com/questions/213840/how-to-toggle-or-turn-off-text-selection-being-sent-to-the-clipboard/213843#213843 貼り付けられる] までコピーされない ことを理解しておくことも重要です。例えば、ターミナルウィンドウ内の単語を選択した後にターミナルを閉じてしまうと、別の場所に貼り付けようとしても機能しません。これは、ターミナルが閉じられた時点で、テキストがどこにもコピーされていないためです。ターミナルを閉じた後も単語を保持したい場合は、[[クリップボードマネージャ]]をインストールすることを検討してください。 |
− | {{Note|[[クリップボードマネージャ]] |
+ | {{Note|[[クリップボードマネージャ]]はユーザーエクスペリエンスを大きく変えることができます。例えば、PRIMARY と CLIPBOARD の選択を同期させ、シングルクリップボードシステムをエミュレートすることができます。}} |
== 中クリックの動作 == |
== 中クリックの動作 == |
||
− | 以下は、中クリックによるコピー |
+ | 以下は、中クリックによるコピー&ペーストの動作を PRIMARY から変更するもので、中クリックを無効にしたり、新しいタブで開いたりスクロールしたりといった他の機能を変更したりすることはありません。 |
=== 全般 === |
=== 全般 === |
||
56行目: | 57行目: | ||
=== アプリケーション固有 === |
=== アプリケーション固有 === |
||
− | * [[GTK]] — [[GTK#マウス中ボタンでのペーストを無効化]]参照 |
+ | * [[GTK]] — [[GTK#マウス中ボタンでのペーストを無効化]]を参照 |
− | * [[Firefox]] — [[Firefox# |
+ | * [[Firefox]] — [[Firefox#中クリックの動作]]を参照 |
* [[LibreOffice]] — Tools > Options > LibreOffice > View > Mouse から無効にできます。 |
* [[LibreOffice]] — Tools > Options > LibreOffice > View > Mouse から無効にできます。 |
||
65行目: | 66行目: | ||
* {{App|sselp|シンプルな X セレクションプリンター。 X 選択を stdout に出力します。|https://tools.suckless.org/x/sselp|{{AUR|sselp}}}} |
* {{App|sselp|シンプルな X セレクションプリンター。 X 選択を stdout に出力します。|https://tools.suckless.org/x/sselp|{{AUR|sselp}}}} |
||
− | * {{App| |
+ | * {{App|xclip|軽量な、コマンドラインベースのクリップボードインターフェイス。|https://github.com/astrand/xclip|{{Pkg|xclip}}}} |
* {{App|xsel|X セレクションの中身を取得・設定するためのコマンドラインプログラム。|http://www.vergenet.net/~conrad/software/xsel/|{{Pkg|xsel}}}} |
* {{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}}}} |
* {{App|wl-clipboard|Wayland コンポジタ用のシンプルなコピー/ペーストツール|https://github.com/bugaevc/wl-clipboard|{{Pkg|wl-clipboard}}}} |
||
77行目: | 78行目: | ||
* {{App|Anamnesis|全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。|http://anamnesis.sourceforge.net/|{{AUR|anamnesis}}}} |
* {{App|Anamnesis|全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。|http://anamnesis.sourceforge.net/|{{AUR|anamnesis}}}} |
||
* {{App|Autocutsel|PRIMARY, {{Ic|CLIPBOARD}} とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。|https://www.nongnu.org/autocutsel/|{{Pkg|autocutsel}}}} |
* {{App|Autocutsel|PRIMARY, {{Ic|CLIPBOARD}} とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。|https://www.nongnu.org/autocutsel/|{{Pkg|autocutsel}}}} |
||
+ | * {{App|Clipboard|複数の異なるクリップボード、固定クリップボード、および正規表現選択を備えたコマンドラインベースのの使いやすいクリップボードマネージャ。|https://github.com/Slackadays/Clipboard|{{AUR|clipboard}}}} |
||
* {{App|Clipboard Indicator|GNOME Shell のクリップボードマネージャ拡張。トップパネルにクリップボードのインジケータを追加して、クリップボードの履歴をキャッシュします。|https://extensions.gnome.org/extension/779/clipboard-indicator/|https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator}} |
* {{App|Clipboard Indicator|GNOME Shell のクリップボードマネージャ拡張。トップパネルにクリップボードのインジケータを追加して、クリップボードの履歴をキャッシュします。|https://extensions.gnome.org/extension/779/clipboard-indicator/|https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator}} |
||
− | * {{App|Clipcat|Rust で書かれたクリップボードマネージャー|https://github.com/xrelkd/clipcat|{{ |
+ | * {{App|Clipcat|Rust で書かれたクリップボードマネージャー|https://github.com/xrelkd/clipcat|{{Pkg|clipcat}}}} |
* {{App|ClipIt|Parcellite に機能の追加とバグフィックスをしたフォーク。|https://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}} |
* {{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|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|ClipManager|Python と Qt で書かれたクロスプラットフォームのクリップボードマネージャ。|https://github.com/scottwernervt/clipmanager|{{AUR|clipmanager}}}} |
||
* {{App|[[Clipmenu]]|Dmenu ベースのクリップボードマネージャ。|https://github.com/cdown/clipmenu/|{{Pkg|clipmenu}}}} |
* {{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|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|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|{{Pkg|gpaste}}}} |
* {{App|GPaste|次世代の Parcellite になることを目指しているクリップボード管理システム。モジュール構造を取っており複数のライブラリとデーモンに分割されています。GNOME Shell 拡張と CLI インターフェイスを提供。|https://github.com/Keruspe/GPaste|{{Pkg|gpaste}}}} |
||
90行目: | 96行目: | ||
* {{App|[[Wikipedia:ja:Klipper|Klipper]]|KDE デスクトップ向けのフル機能のクリップボードマネージャ。|http://userbase.kde.org/Klipper|{{Pkg|plasma-workspace}}}} |
* {{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|Qlipper|軽量なクロスプラットフォームのクリップボード履歴アプレット。Qt ベース。|https://github.com/pvanek/qlipper/|{{AUR|qlipper}}}} |
||
* {{App|xclipboard|公式の X クリップボードコマンドラインクライアント。|https://www.x.org/releases/X11R7.5/doc/man/man1/xclipboard.1.html|{{Pkg|xorg-xclipboard}}}} |
* {{App|xclipboard|公式の X クリップボードコマンドラインクライアント。|https://www.x.org/releases/X11R7.5/doc/man/man1/xclipboard.1.html|{{Pkg|xorg-xclipboard}}}} |
||
* {{App|xcmenu|ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。|https://github.com/Cloudef/xcmenu|{{AUR|xcmenu-git}}}} |
* {{App|xcmenu|ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。|https://github.com/Cloudef/xcmenu|{{AUR|xcmenu-git}}}} |
||
100行目: | 105行目: | ||
* [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?] |
* [https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html X11: How does “the” clipboard work?] |
||
+ | * [https://wayland.app/protocols/primary-selection-unstable-v1 Wayland's Primary selection protocol] |
||
− | {{TranslationStatus|Clipboard| |
+ | {{TranslationStatus|Clipboard|2025/01/13|703970}} |
2025年2月13日 (木) 18:10時点における最新版
Wikipedia より:
- クリップボードは、一時的にデータを保存できる共有のメモリ領域のことで、コピーアンドペースト操作による文章やアプリケーション間のデータの移動に使われる。
目次
歴史
カットバッファ が導入されたのは X10 (1985) でした。カットバッファは任意のテキストを保存する制限付きのバッファで、様々なアプリケーションによって使われました。しかしながら、カットバッファは使い物にならず実装も統一されてなかったので、セレクションが導入されました。久しくカットバッファは非推奨となっていますが、(xterm など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。
セレクション
Freedesktop.org は、主要な二つの 選択 について次のように説明しています:[1]
- PRIMARY
- 現在選択されているテキストを明示的にコピーしていない場合でも、マウスを中クリックして貼り付けるときに使用します。キーボードショートカットを使用して貼り付けることもできます。
- CLIPBOARD
- キーボードショートカットやメニュー項目を含む明示的なコピー&ペーストのコマンドに使用されます。従って、Windows のシングルクリップボードシステムと同じように動作する。PRIMARY とは異なり、複数のデータ形式を扱うこともできます。
Xorg 用のプログラムの大多数、例えば Qt や GTK アプリケーションなどは、この動作に従います。ICCCM では SECONDARY 選択も定義されていますが、その用途については合意が得られていません。名称にかかわらず、これら三つの選択は基本的に "クリップボード" と同じものです。従来の "カットバッファ"システムでは、任意のアプリケーションがカットバッファに保存されたデータを変更できましたが、新しい選択システムでは、一度に一つのアプリケーションだけが選択を制御または "所有" できます。これにより、選択の動作における不整合を防いでいます。
多くのプログラムのデフォルトのショートカット一覧をキーボードショートカットのページで参照してください。
選択プロトコルによると、テキストは 貼り付けられる までコピーされない ことを理解しておくことも重要です。例えば、ターミナルウィンドウ内の単語を選択した後にターミナルを閉じてしまうと、別の場所に貼り付けようとしても機能しません。これは、ターミナルが閉じられた時点で、テキストがどこにもコピーされていないためです。ターミナルを閉じた後も単語を保持したい場合は、クリップボードマネージャをインストールすることを検討してください。
中クリックの動作
以下は、中クリックによるコピー&ペーストの動作を 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 — ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。