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


28.1 フレームの作成

新たにフレームを作成するためには関数make-frameを呼び出します。

Command: make-frame &optional alist

この関数はカレントバッファーを表示するフレームを作成してそれをリターンする。

alist引数は新たなフレームのフレームパラメーターを指定するalist。Frame Parametersを参照のこと。alist内でterminalパラメーターを指定すると新たなフレームはその端末上で作成される。それ以外ならalist内でwindow-systemフレームパラメーターを指定した場合には、それはフレームがテキスト端末とグラフィカル端末のどちらで表示されるべきかを決定する。Window Systemsを参照のこと。どちらも指定されなければ新たなフレームは選択されたフレームと同じ端末上に作成される。

alistで指定されなかったパラメーターのデフォルトは、default-frame-alistというalist内の値。そこでも指定されないパラメーターのデフォルトはXリソース、またはそのオペレーティングシステムで同等のものの値となる(X Resources in The GNU Emacs Manualを参照)。フレームが作成された後にEmacsはframe-inherited-parameters (以下参照)内にリストされたすべてのパラメーターを適用して、引数にないものはmake-frame呼び出し時に選択されていたフレームから値を取得する。

マルチモニターディスプレイ(Multiple Terminalsを参照)では、ウィンドウマネージャーがalist内の位置パラメーター(Position Parametersを参照)の指定とは異なる位置にフレームを配置するかもしれないことに注意。たとえばウィンドウの大きな部分、いわゆる支配モニター(dominating monitor)上のフレームを表示するポリシーをもつウィンドウマネージャーがいくつかあります。

この関数自体が新たなフレームを選択されたフレームにする訳ではない。Input Focusを参照のこと。以前に選択されていたフレームは選択されたままである。しかしグラフィカル端末上ではウィンドウシステム自身の理由によって新たなフレームが選択されるかもしれない。

Variable: before-make-frame-hook

make-frameがフレームを作成する前に、それにより実行されるノーマルフック。

Variable: after-make-frame-functions

make-frameがフレームを作成した後に、それにより実行されるアブノーマルフック。after-make-frame-functions内の各関数は作成された直後のフレームを単一の引数として受け取る。

Variable: frame-inherited-parameters

この変数はカレントで選択されているフレームから継承して新たに作成されたフレームのフレームパラメーターのリストを指定する。リスト内の各要素はmake-frameの引数として与えられなかったパラメーター(シンボル)であり、make-frameは新たに作成されたフレームのそのパラメーターに選択されたフレームのパラメーターの値をセットする。