Next: , Previous: , Up: Frames   [Contents][Index]


28.18 ウィンドウシステムによる選択

Xウィンドウシステムでは、異なるアプリケーション間のデータ転送は、選択(selections)により行われます。Xは任意の数の選択タイプ(selection types)を定義し、それぞれが独自にデータを格納できます。しかし、一般的に使用されるのはクリップボード(clipboard)プライマリー選択(primary selection)セカンダリー選択(secondary selection)の3つだけです。これら3つの選択を使用するEmacsコマンドについては、Cut and Paste in The GNU Emacs Manualを参照してください。このセクションでは、X選択の読み取りとセットを行う、低レベル関数について説明します。

Command: x-set-selection type data

この関数は、X選択をセットする。これは、選択タイプtypeと、それに割り当てる値dataの、2つの引数をとる。

typeはシンボルであること。通常はPRIMARYSECONDARYCLIPBOARDのいずれかである。これらはXウィンドウシステムの慣例に対応する大文字のシンボル名である。typenilならそれはPRIMARYを意味する。

datanilなら、それはその選択をクリアーすることを意味する。それ以外ならdataは文字列、シンボル、整数(2つの整数からなるコンスかリスト)、オーバーレイ、同じバッファーを指す2つのマーカーのコンスを指定できる。オーバーレイとマーカーのペアは、そのオーバーレイまたはマーカー間のテキストを意味する。引数dataには有効な非ベクターの選択のベクターも指定できる。

この関数はdataをリターンする。

Function: x-get-selection &optional type data-type

この関数は、Emacsおよび別のXクライアントによりセットアップされた選択にアクセスする。これはtypedata-typeの、2つの引数をとる。typeは選択のタイプで、デフォルトはPRIMARY

data-type引数は、別のXクライアントから取得したrawデータをLispデータに変換するための、データ変換に使用する形式を指定する。意味のある値にはTEXTSTRINGUTF8_STRINGTARGETSLENGTHDELETEFILE_NAMECHARACTER_POSITIONNAMELINE_NUMBERCOLUMN_NUMBEROWNER_OSHOST_NAMEUSERCLASSATOMINTEGERが含まれる(これらは、対応するX慣習の大文字シンボル名である)。data-typeのデフォルトはSTRING

User Option: selection-coding-system

この変数は選択やクリップボードに読み書きする際のコーディングシステムを指定する。Coding Systemsを参照のこと。デフォルトはcompound-text-with-extensionsで、これはX11が通常使用するテキスト表現に変換する。

EmacsがMS-Windows上で実行されている際は、一般的にX選択はサポートしませんが、クリップボードはサポートします。MS-Windowsでは、x-get-selectionおよびx-set-selectionは、テキストデータタイプだけをサポートします。クリップボードが他のタイプのデータを保持している場合、Emacsはクリップボードを空として扱います。