必要なサポートライブラリーつきでEmacsがビルドされていて、かつグラフィカル端末上で実行されていれば、Emacsバッファー内にGTK+
WebKitウィジェットのようなネイティブウィジェットを表示することができます。Emacsが埋め込みウィジェットを表示可能かテストするには、xwidget-internal
機能が利用可能かどうかをチェックします(名前つき機能を参照)。
Emacsバッファー内に埋め込みウィジェットを表示するためには、最初にxwidgetオブジェクトを作成して、テキストプロパティまたはオーバーレイプロパティdisplay
内のディスプレイ仕様としてそのオブジェクトを使用します(display
プロパティを参照)。
埋め込みウィジェットは自身に生じた変更をLispコードに通知するイベントを送信できます(Xwidgetイベントを参照)。
これはxwidgetオブジェクトを作成してリターンする。bufferが省略かnil
の場合のデフォルトはカレントバッファー。bufferが存在しないバッファーの名前を指定する場合には作成する。typeはxwidgetコンポーネントを識別するもので以下のいずれかが可能:
webkit
WebKitコンポーネント。
引数widthとheightはウィジェットのサイズをピクセル単位で指定、titleはウィジェットのタイトルを指定する文字列。relatedはWebKitウィジェットが内部で使用するもので、新たに作成されるウィジェットが設定とサブプロセスを共有する必要がある別のWebKitウィジェットを指定する。
リターンされたxwidgetはそのバッファーとともにkillされる(バッファーのkillを参照)。kill-xwidget
を使ってkillすることもできる。xwidgetが一旦killされてもすべての参照が解放されるまではLispオブジェクトとして存在し続けてdisplay
プロパティとして動作するが、生きたxwidgetで実行できるほとんどのアクションは利用できなくなる。
この関数はobjectがxwidgetならt
、それ以外はnil
をリターンする。
この関数はobjectがkillされていないxwidgetならt
、それ以外はnil
をリターンする。
この関数はxwidgetをバッファーから削除して、それが保有していたウィンドウシステムのリソースを解放することによってkillする。
この関数はxwidgetのプロパティリストをリターンする。
この関数はplistで与えられた新たなプロパティリストでxwidgetのプロパティリストを置き換える。
この関数はxwidgetのバッファーをリターンする。xwidgetがkillされていたらnil
をリターンする。
この関数はxwidgetのバッファーをbufferにセットする。
この関数はbufferに関連付けられたxwidgetオブジェクトのリストをリターンする。bufferはバッファーオブジェクトか既存のバッファー名(文字列)を指定できる。bufferにxwidgetが含まれなければ値はnil
。
この関数は与えられたxwidget内で指定したuriをブラウズ(browse: 閲覧)する。uriはファイルかURLを指定する文字列。
この関数はxwidgetで指定されるブラウザウィジェットに、script
で指定するJavaScriptを実行させる。
この関数はxwidget-webkit-execute-script
と同様に指定したscriptを実行するが、スクリプトのリターン値も文字列としてリターンする。この関数はscriptが値をリターンしなければdefault、defaultが省略されたらnil
をリターンする。
この関数はxwidgetのタイトルを文字列としてリターンする。
この関数は指定したxwidgetをwidthxheightのサイズ(ピクセル単位)にリサイズする。
この関数はxwidgetのサイズを(width
height)
という形式のリストでリターンする。単位はピクセル。
この関数は[type title width
height]
という形式のベクターでxwidgetの属性をリターンする。属性は通常はxwidgetの作成時にmake-xwidget
で決定される。
この関数はEmacsがxwidgetに関連付けられたバッファーのexitやkillの前にユーザーに確認を求めるようにアレンジすることを可能にする。flagが非nil
ならEmacsはユーザーに確認を求めて、それ以外なら確認を求めない。
この関数はxwidgetのquery-on-exitフラグのカレントセッティングをt
かnil
のいずれかでリターンする。
入力イベントeventをxwidgetに送信する。実行される正確なアクションはプラットフォームに依存する。入力イベントを参照のこと。
オプションとしてframeを介してこのイベントが生成されたフレームを渡すことができる。X11の場合にはframeがnil
かつ選択されたフレームがX-Windowsフレーム以外なら、キーイベント中の修飾キーは考慮しない。
GTKでサポートされているのはキーボードとファンクションキーのイベントのみ。マウス、移動キー、クリックにたいするイベントはLispコードを介さずxwidgetにディスパッチされるため、この関数は呼び出されない。
WebKitウィジェットxwidgetにたいして、文字列queryを問い合わせるインクリメンタル検索を開始する。case-insensitiveは検索でcase(大文字小文字)を区別するかどうか、backwardsはドキュメント先頭から後方に検索を行うかどうか、そしてwrap-aroundは検索をドキュメント終端で終了するかどうかを指定する。
検索クエリーがすでに与えられた状態でこの関数を呼び出すと、既存のクエリーはここで指定したクエリーに置き換えられる。
検索クエリーを停止するにはxwidget-webkit-finish-search
を使用すること。
xwidgetの次の検索結果を表示する。xwidget-webkit-search
による検索クエリーがxwidget内でまだ開始されていなければ、この関数はエラーをシグナルする。
xwidget-webkit-search
の呼び出し時にwrap-around
が非nil
だった場合には、検索がドキュメント終端に達すると先頭から検索を再開する。
xwidgetの前の検索結果を表示する。xwidget-webkit-search
による検索クエリーがxwidget内でまだ開始されていなければ、この関数はエラーをシグナルする。
xwidget-webkit-search
の呼び出し時にwrap-around
が非nil
だった場合には、検索がドキュメント先頭に達すると終端から検索を再開する。
xwidgetで開始されたxwidget-webkit-search
による検索操作を終了する。現在進行中のクエリーがなければ、この関数はエラーをシグナルする。
xwidget (WebKitウィジェット)にtext (文字列)をロードする。text内にあるHTMLマークアップはテキスト描画の際にすべてxwidgetによって処理される。
オプション引数base-uri (文字列)はtextによって参照されるwebリソースの絶対位置を指定する。これはtext内の相対リンクの解決に使用される。
WebKitウィジェットxwidgetにナビゲーション履歴でrel-pos番目の要素をロードさせる。
rel-posが0ならカレントページをリロードさせる。
xwidgetのナビゲーション履歴を両方向にlimit番目のアイテムまでリターンする。limitを指定しない場合のデフォルトは50。
リターン値は(back here forward)
という形式のリスト。ここでhereはカレントナビゲーションアイテム、backはカレントナビゲーションアイテムの前にWebKitが記録されたアイテムを含むアイテムリスト、forwardはカレントナビゲーションアイテムの後に記録されたアイテムリスト。back、here、forwardはnil
の場合もあり得る。
hereがnil
なら、記録済みアイテムが存在しないことを意味する。backやforwardがnil
なら、カレントアイテムにたいして前または後に記録された履歴が存在しないことを意味する。
ナビゲーションアイテム自体は(idx title uri)
という形式のリスト。ここでidxはxwidget-webkit-goto-history
に渡すことができるインデックス、titleは人間が読めるアイテムのタイトル、uriはそのアイテムのURL。ユーザーは特定の履歴アイテムに到達するために手作業によるuriのロードを必要とする理由は通常はない。かわりにインデックスとしてxwidget-webkit-goto-history
にidxを渡せばよいからだ。
WebKitウィジェットxwidgetによってページが完全にロードされて表示されるまでに転送を要する残りのデータ量の推測値をリターンする。
リターン値は0.0から1.0までの浮動小数点数。
WebKitウィジェットxwidgetにたいしてfileにcookieを格納させる。
fileは絶対ファイル名でなければならない。新しいセッティングはmake-xwidget
の引数related
として作成されたxwidget、およびそれらに関連するウィジェットにも影響を及ぼす。
xwidgetや関連するウィジェットにたいして最低でも1回はこの関数を呼び出さなければ、xwidgetはディスクに何のcookieも格納しない。
ページロード操作の一環となるWebKitウィジェット進行中のデータ転送はすべて終了される。ページがロードされない場合には、この関数は何も行わない。