ウィンドウシステムの選択で保存されるデータはプレーンテキストだけではありません。選択データにイメージやその他のバイナリーデータを含めたり、HTMLやPostScriptによってインスタンス化されたリッチテキストコンテンツを含めることが可能です。これらのデータに付随する選択データタイプはプレーンテキストにたいする選択データタイプとは異なるので、そのようなデータの挿入はyankメディアハンドラー(yank-media
handlers)と呼ばれる一連の関数によって容易になります。これらの関数はメジャーモードが挿入処理を任せるためにメジャーモードがそれぞれ登録して、yank-media
コマンドの実行時に保証されていれば呼び出されるのです。
カレントバッファーに適用するyankメディアハンドラーを登録する。
typesは選択データタイプ(選択へのアクセスを参照)を指示するシンボル、そのようなタイプにマッチするregexp、あるいはこれらのシンボルおよびregexpのリスト。たとえば:
(yank-media-handler 'text/html #'my-html-handler) (yank-media-handler "image/.*" #'my-image-handler)
選択がtypesにマッチするデータタイプを提案する場合には選択のデータを挿入するために、関数handlerがマッチする選択データタイプを示すシンボル、gui-get-selection
がリターンしたデータとともに呼び出される。
yank-media-types
コマンドはカレントで利用可能な選択データタイプのリストを表示します。このコマンドは一般的に折衷的で一貫性の低い寄せ集めのデータタイプを提案するプログラムにおいてyankメディアハンドラーを実装する際に役に立つでしょう。