Next: , Previous: , Up: フレーム   [Contents][Index]


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

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

Command: gui-set-selection type data

この関数はウィンドウシステムの選択をセットする。これは選択タイプtype、それに割り当てる値dataという2つの引数を受け取る。

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

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

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

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

この関数はEmacsや他のプログラムによりセットアップされた選択にアクセスする。これはtypedata-typeの2つの引数を受け取る。typeは選択のタイプでありデフォルトはPRIMARY

data-type引数は別のXクライアントから取得したrawデータをLispデータに変換するためにデータ変換に使用する形式を指定する。有意義な値にはTEXTSTRINGUTF8_STRINGTARGETSLENGTHDELETEFILE_NAMECHARACTER_POSITIONNAMELINE_NUMBERCOLUMN_NUMBEROWNER_OSHOST_NAMEUSERCLASSATOMINTEGERが含まれる(これらは対応するX慣習の大文字シンボル名である)。data-typeのデフォルトはSTRING。X以外のウィンドウシステムは、通常はSTRINGに加えて、少数の部分集合だけをサポートする。

User Option: selection-coding-system

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

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

後方互換性のためにgui-get-selectiongui-set-selectionにたいして、Emacs 25.1以前の名前x-get-selectionx-set-selectionが時代遅れのエイリアスとして存在します。