「クリップボード」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(1版 をインポートしました)
(Pkg/AUR テンプレートの更新)
(3人の利用者による、間の11版が非表示)
7行目: 7行目:
 
== 歴史 ==
 
== 歴史 ==
   
  +
"カットバッファ"が導入されたのは 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.
 
   
== 背景 ==
+
== 予備知識 ==
   
  +
[http://tronche.com/gui/x/icccm/ ICCCM] (Inter-Client Communication Conventions Manual) は3つの"セレクション"を定義しています: PRIMARY, SECONDARY, CLIPBOARD。その名前とは異なり、この3つはどれも基本的には"クリップボード"です。旧"カットバッファ"システムでは任意のアプリケーションがカットバッファに保存されているデータに手を出すことができましたが、セレクションをコントロールまたは"所有"することができるアプリケーションは一度に一つのアプリケーションだけです。これによってセレクションを操作するときに整合性が破れるのを防ぎます。ただし、仮想マシンの Windows とクリップボードを共有している (単一のクリップボードシステムを使っている) 場合など、おかしな結果になることもあります。
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.
 
   
  +
3つのセレクションのうち、ユーザーが気にする必要があるのは PRIMARY と CLIPBOARD だけです。SECONDARY はときどき PRIMARY の代わりとして使われることがあるにすぎません。アプリケーションによって PRIMARY と CLIPBOARD の扱い方は様々ですが、ある程度の決まり事が存在します。CLIPBOARD は Windows のようなクリップボードとして使用され、PRIMARY はマウスやキーボードでテキストを選択して、中マウスボタンで貼り付けるような、"即座"の使われ方をします。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.
 
   
 
== クリップボードマネージャの一覧 ==
 
== クリップボードマネージャの一覧 ==
20行目: 20行目:
   
 
* {{App|Anamnesis|全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。|http://anamnesis.sourceforge.net/|{{AUR|anamnesis}}}}
 
* {{App|Anamnesis|全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。|http://anamnesis.sourceforge.net/|{{AUR|anamnesis}}}}
* {{App|Autocutsel|PRIMARY, {{Ic|CLIPBOARD}} とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。|http://www.nongnu.org/autocutsel/|{{Pkg|autocutsel}}}}
+
* {{App|Autocutsel|PRIMARY, {{Ic|CLIPBOARD}} とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。|https://www.nongnu.org/autocutsel/|{{Pkg|autocutsel}}}}
  +
* {{App|Clipboard Indicator|GNOME Shell のクリップボードマネージャ拡張。トップパネルにクリップボードのインジケータを追加して、クリップボードの履歴をキャッシュします。|https://extensions.gnome.org/extension/779/clipboard-indicator/|https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator}}
* {{App|ClipIt|Parcellite に機能の追加とバグフィックスをしたフォーク。|http://sourceforge.net/projects/gtkclipit/|{{Pkg|clipit}}}}
 
  +
* {{App|ClipIt|Parcellite に機能の追加とバグフィックスをしたフォーク。|https://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}}
* {{App|Clipman|Xfce のクリップボードマネージャ。通常は中身が失われてしまうアプリケーションの終了をしてもクリップボードの中身を保持し続けます。テキストと画像を処理することができ、正規表現にマッチさせて特定のテキストを選択したときにアクションを実行する機能があります。|http://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|CopyQ|検索・編集できる履歴や、カスタムアクション、コマンドラインサポートのある賢いクリップボードマネージャ。|https://github.com/hluk/CopyQ|{{AUR|copyq}}}}
 
  +
* {{App|Clipmenu|Dmenu ベースのクリップボードマネージャ。|https://github.com/cdown/clipmenu/|{{Pkg|clipmenu}}}}
  +
* {{App|Clipster|軽量でコマンドラインによって操作できるクリップボードマネージャ。Python で書かれています。|https://github.com/mrichar1/clipster|{{AUR|clipster-git}}}}
  +
* {{App|CopyQ|検索・編集できる履歴や、カスタムアクション、コマンドラインサポートのある賢いクリップボードマネージャ。|https://github.com/hluk/CopyQ|{{Pkg|copyq}}}}
 
* {{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|{{AUR|gpaste}}}}
+
* {{App|GPaste|次世代の Parcellite になることを目指しているクリップボード管理システム。モジュール構造を取っており複数のライブラリとデーモンに分割されています。GNOME Shell 拡張と CLI インターフェイスを提供。|https://github.com/Keruspe/GPaste|{{Pkg|gpaste}}}}
* {{App|[[Wikipedia:ja:Klipper|Klipper]]|KDE デストッ向けのル機能のクリップボードマネージャ。|http://userbase.kde.org/Klipper|{{Pkg|kdebase-workspace}}}}
+
* {{App|Keepboard|クロスラットォームのクリップボードマネージャ。テキスト・画像・ファイルのクリップボードアイテムを保存します。|https://sourceforge.net/projects/keepboard/|}}
  +
* {{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|Pasteall|シンプルで機能なクリップボードモニタ。|https://github.com/LaraCraft93/Pasteall|{{AUR|pasteall}}}}
+
* {{App|Pasteall|シンプルで機能なクリップボードモニタ。|https://github.com/LaraCraft93/Pasteall|{{AUR|pasteall}}}}
* {{App|Xclip|軽量な、コマンドインベのクリップボードインタフェイス。|http://sourceforge.net/projects/xclip/|{{Pkg|xclip}}}}
+
* {{App|Qlipper|軽量なクロスプットフォのクリップボード履歴アプレット。Qt ベース。|https://github.com/pvanek/qlipper/|{{AUR|qlipper}}}}
  +
* {{App|Xclip|軽量な、コマンドラインベースのクリップボードインターフェイス。|https://github.com/astrand/xclip|{{Pkg|xclip}}}}
 
* {{App|xcmenu|ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。|https://github.com/Cloudef/xcmenu|{{AUR|xcmenu-git}}}}
 
* {{App|xcmenu|ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。|https://github.com/Cloudef/xcmenu|{{AUR|xcmenu-git}}}}
  +
* {{App|xsel|X セレクションの中身を取得・設定するためのコマンドラインプログラム。|http://www.vergenet.net/~conrad/software/xsel/|{{Pkg|xsel}}}}
  +
  +
== ヒントとテクニック ==
  +
  +
=== アプリケーション別のヒント ===
  +
  +
==== Konsole ターミナル ====
  +
{{Pkg|konsole}} ターミナルではテキストのコピーとコマンドの停止の両方が {{ic|ctl+c}} ショートカットで行えます。テキストが選択されているかどうかで挙動が変化します。
  +
  +
==== Gvim の CLIPBOARD ====
  +
[[Vim#クリップボード]]を見てください。
  +
  +
=== 中マウスボタンによる貼り付けの無効化 ===
  +
  +
現在のところ、全てのアプリケーションで中マウスボタンによる貼り付けを無効化する方法は中マウスボタン自体を無効化するしかありません。しかしながらタブを閉じる機能なども使えなくなります。以下のアプリケーションでは個別に無効化できる設定が存在します。
  +
  +
==== Firefox ====
  +
Firefox で中マウスクリックによる貼り付けを止めるには {{ic|about:config}} で以下のオプションを設定してください:
  +
{{hc|about:config|
  +
middlemouse.contentLoadURL false
  +
middlemouse.paste false
  +
}}
  +
  +
==== GTK ====
  +
{{hc|.config/gtk-3.0|<nowiki>
  +
gtk-enable-primary-paste=false
  +
</nowiki>}}
   
 
== 参照 ==
 
== 参照 ==
   
* [http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt Cut-and-paste in X]
+
* [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.]

2018年12月19日 (水) 23:47時点における版

Wikipedia:ja:クリップボード より:

クリップボードは、一時的にデータを保存できる共有のメモリ領域のことで、コピーアンドペースト操作による文章やアプリケーション間のデータの移動に使われる。

歴史

"カットバッファ"が導入されたのは X10 でした。カットバッファは任意のテキストを保存する制限付きのバッファで、様々なアプリケーションによって使われました。しかしながら、カットバッファは使い物にならず実装も統一されてなかったので、セレクションが導入されました。久しくカットバッファは非推奨となっていますが、(xterm など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。

予備知識

ICCCM (Inter-Client Communication Conventions Manual) は3つの"セレクション"を定義しています: PRIMARY, SECONDARY, CLIPBOARD。その名前とは異なり、この3つはどれも基本的には"クリップボード"です。旧"カットバッファ"システムでは任意のアプリケーションがカットバッファに保存されているデータに手を出すことができましたが、セレクションをコントロールまたは"所有"することができるアプリケーションは一度に一つのアプリケーションだけです。これによってセレクションを操作するときに整合性が破れるのを防ぎます。ただし、仮想マシンの Windows とクリップボードを共有している (単一のクリップボードシステムを使っている) 場合など、おかしな結果になることもあります。

3つのセレクションのうち、ユーザーが気にする必要があるのは PRIMARY と CLIPBOARD だけです。SECONDARY はときどき PRIMARY の代わりとして使われることがあるにすぎません。アプリケーションによって PRIMARY と CLIPBOARD の扱い方は様々ですが、ある程度の決まり事が存在します。CLIPBOARD は Windows のようなクリップボードとして使用され、PRIMARY はマウスやキーボードでテキストを選択して、中マウスボタンで貼り付けるような、"即座"の使われ方をします。PRIMARY は混乱を生じさせることがあり、場合によっては、悪いアプリケーションによって予期しない結果を生むことがあります。

クリップボードマネージャの一覧

クリップボードマネージャはユーザーがクリップボードを操作できるようにするアプリケーションです。クリップボードマネージャの多くは以前に使用したクリップボードを同期することもできます。

  • Anamnesis — 全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。
http://anamnesis.sourceforge.net/ || anamnesisAUR
  • Autocutsel — PRIMARY, CLIPBOARD とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。
https://www.nongnu.org/autocutsel/ || autocutsel
  • Clipboard Indicator — GNOME Shell のクリップボードマネージャ拡張。トップパネルにクリップボードのインジケータを追加して、クリップボードの履歴をキャッシュします。
https://extensions.gnome.org/extension/779/clipboard-indicator/ || https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator
  • ClipIt — Parcellite に機能の追加とバグフィックスをしたフォーク。
https://sourceforge.net/projects/gtkclipit/ || clipitAUR
  • Clipman — Xfce のクリップボードマネージャ。通常は中身が失われてしまうアプリケーションの終了をしてもクリップボードの中身を保持し続けます。テキストと画像を処理することができ、正規表現にマッチさせて特定のテキストを選択したときにアクションを実行する機能があります。
https://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin || xfce4-clipman-plugin
  • Clipmenu — Dmenu ベースのクリップボードマネージャ。
https://github.com/cdown/clipmenu/ || clipmenu
  • Clipster — 軽量でコマンドラインによって操作できるクリップボードマネージャ。Python で書かれています。
https://github.com/mrichar1/clipster || clipster-gitAUR
  • CopyQ — 検索・編集できる履歴や、カスタムアクション、コマンドラインサポートのある賢いクリップボードマネージャ。
https://github.com/hluk/CopyQ || copyq
  • Glipper — プラグインをサポートする高機能な GNOME 向けクリップボードマネージャ。
https://launchpad.net/glipper || glipperAUR
  • GPaste — 次世代の Parcellite になることを目指しているクリップボード管理システム。モジュール構造を取っており複数のライブラリとデーモンに分割されています。GNOME Shell 拡張と CLI インターフェイスを提供。
https://github.com/Keruspe/GPaste || gpaste
  • Keepboard — クロスプラットフォームのクリップボードマネージャ。テキスト・画像・ファイルのクリップボードアイテムを保存します。
https://sourceforge.net/projects/keepboard/ ||
  • Klipper — KDE デスクトップ向けのフル機能のクリップボードマネージャ。
http://userbase.kde.org/Klipper || plasma-workspace
  • Parcellite — 軽量かつ高機能なクリップボードマネージャ。
http://parcellite.sourceforge.net/ || parcellite
  • Pasteall — シンプルで機能的なクリップボードモニタ。
https://github.com/LaraCraft93/Pasteall || pasteallAUR
  • Qlipper — 軽量なクロスプラットフォームのクリップボード履歴アプレット。Qt ベース。
https://github.com/pvanek/qlipper/ || qlipperAUR
  • Xclip — 軽量な、コマンドラインベースのクリップボードインターフェイス。
https://github.com/astrand/xclip || xclip
  • xcmenu — ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。
https://github.com/Cloudef/xcmenu || xcmenu-gitAUR
  • xsel — X セレクションの中身を取得・設定するためのコマンドラインプログラム。
http://www.vergenet.net/~conrad/software/xsel/ || xsel

ヒントとテクニック

アプリケーション別のヒント

Konsole ターミナル

konsole ターミナルではテキストのコピーとコマンドの停止の両方が ctl+c ショートカットで行えます。テキストが選択されているかどうかで挙動が変化します。

Gvim の CLIPBOARD

Vim#クリップボードを見てください。

中マウスボタンによる貼り付けの無効化

現在のところ、全てのアプリケーションで中マウスボタンによる貼り付けを無効化する方法は中マウスボタン自体を無効化するしかありません。しかしながらタブを閉じる機能なども使えなくなります。以下のアプリケーションでは個別に無効化できる設定が存在します。

Firefox

Firefox で中マウスクリックによる貼り付けを止めるには about:config で以下のオプションを設定してください:

about:config
middlemouse.contentLoadURL false
middlemouse.paste false

GTK

.config/gtk-3.0
gtk-enable-primary-paste=false

参照