「クリップボード」の版間の差分
(Created page with "Category:X Server en:Clipboard fr:Copier coller Wikipedia:ja:クリップボード より: :クリップボードは、一時的にデータを保...") |
(翻訳ステータス更新) |
||
(7人の利用者による、間の57版が非表示) | |||
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]] など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。 |
||
− | In X10, "cut buffers" were introduced. These were limited buffers that stored arbitrary text and were used by most applications. However, they were inefficient and implementation of them varied, so selections were introduced. Cut buffers are long deprecated, and although some applications (such as xterm) may have legacy support for them, it is both not likely and not recommended that they be used. |
||
− | == |
+ | == セレクション == |
+ | [[Freedesktop.org]] は二つの主な''セレクション''を次のように説明しています。[https://specifications.freedesktop.org/clipboards-spec/clipboards-latest.txt] |
||
− | The [http://tronche.com/gui/x/icccm/ ICCCM] (Inter-Client Communication Conventions Manual) standard defines three "selections": PRIMARY, SECONDARY, and CLIPBOARD. Despite the naming, all three are basically "clipboards". Rather than the old "cut buffers" system where arbitrary applications could modify data stored in the cut buffers, only one application may control or "own" a selection at one time. This prevents inconsistencies in the operation of the selections. However, in some cases, this can produce strange outcomes, such as a bidirectional shared clipboard with Windows (which uses a single-clipboard system) in a virtual machine. |
||
+ | ;PRIMARY: 現在選択されているテキストを明示的にコピーしていない場合でも、マウスを中クリックして貼り付けるときに使用します。キーボードショートカットを使用して貼り付けることもできます。 |
||
− | Of the three selections, users should only be concerned with PRIMARY and CLIPBOARD. SECONDARY is only used inconsistently and was intended as an alternate to PRIMARY. Different applications may treat PRIMARY and CLIPBOARD differently; however, there is a degree of consensus that CLIPBOARD should be used for Windows-style clipboard operations, while PRIMARY should exist as a "quick" option, where text can be selected using the mouse or keyboard, then pasted using the middle mouse button (or some emulation of it). This can cause confusion and, in some cases, inconsistent or undesirable results from rogue applications. |
||
+ | ;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|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 — ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。