Next: Multiple Terminals, Up: Frames [Contents][Index]
新たにフレームを作成するためには、関数make-frame
を呼び出します。
この関数は、カレントバッファーを表示するフレームを作成して、それをリターンする。
alist引数は、新たなフレームのフレームパラメーターを指定するalistである。Frame Parametersを参照のこと。alist内でterminal
パラメーターを指定した場合、新たなフレームはその端末上で作成される。それ以外の場合、alist内でwindow-system
フレームパラメーターを指定した場合、それはフレームがテキスト端末とグラフィカル端末のどちらで表示されるべきかを決定する。Window Systemsを参照のこと。どちらも指定されない場合、新たなフレームは選択されたフレームと同じ端末上に作成される。
alistで指定されなかったパラメーターのデフォルトは、alist
default-frame-alist
内の値となる。そこでも指定されないパラメーターのデフォルトは、Xリソース、またはそのオペレーティングシステムで同等のものの値となる(X Resources in The GNU Emacs Manualを参照)。フレームが作成された後、Emacsは
frame-inherited-parameters
(以下参照)内にリストされたすべてのパラメーターを適用して、引数にないものはmake-frame
呼び出し時に選択されていたフレームから値を取得する。
マルチモニターディスプレイ(Multiple Terminalsを参照)では、ウィンドウマネージャーがalist内の位置パラメーター(Position Parametersを参照)の指定とは異なる位置にフレームを配置するかもしれないことに注意。たとえば、ウィンドウの大きな部分、いわゆる支配モニター(dominating monitor)上のフレームを表示するポリシーをもつウィンドウマネージャーがいくつかあります。
この関数自体はーが、新たなフレームを選択されたフレームにする訳ではない。See Input Focusを参照のこと。以前に選択されていたフレームは、選択されたままである。しかしグラフィカル端末上では、ウィンドウシステム自身の理由により、新たなフレームが選択されるかもしれない。
make-frame
がフレームを作成する前に、それにより実行されるノーマルフック。
make-frame
がフレームを作成した後に、それにより実行されるアブノーマルフック。after-make-frame-functions
内の各関数は、作成された直後のフレームを単一の引数として受け取る。
この変数は、カレントで選択されているフレームから継承して新たに作成されたフレームのフレームパラメーターのリストを指定する。リスト内の各要素はmake-frame
の引数として与えられなかったパラメーター(シンボル)であり、make-frame
は新たに作成されたフレームのそのパラメーターに、選択されたフレームの値をセットする。