Next: , Previous: , Up: Windows   [Contents][Index]


27.9 Cyclic Ordering of Windows

他のウィンドウを選択するためにコマンドC-x o(other-window)を使う際には、特定の順番で生きたウィンドウを巡回します。与えられた任意のウィンドウ構成にたいして、この順序は決して変更されません。これは、ウィンドウのサイクル順序(cyclic ordering of windows)と呼ばれます。

この順序は、そのフレームのリーフノードである生きたウィンドウを取得するために、ツリーを深さ優先で走査することにより決定されます(Windows and Framesを参照)。ミニバッファーがアクティブな場合は、ミニバッファーウィンドウも含まれます。この順序は巡回的(cyclic)なので、この順序の最後のウィンドウの次には最初のウィンドウが配されます。

Function: next-window &optional window minibuf all-frames

この関数は、ウィンドウのサイクル順でwindowの次の生きたウィンドウをリターンする。windowは生きたウィンドウであること。省略またはnilの場合のデフォルトは選択されたウィンドウである。

オプション引数minibufは、サイクル順にミニバッファーウィンドウを含めるべきかどうかを指定する。通常は、minibufnilのときは、ミニバッファーウィンドウがカレントで“アクティブ”な場合のみミニバッファーウィンドウが含まれる。これは、C-x oの振る舞うと合致する(ミニバッファーが使用されている限りミニバッファーウィンドウはアクティブであることに注意。Minibuffersを参照のこと)。

minibuftの場合、サイクル順にはすべてのミニバッファーウィンドウが含まれる。minibuftnilのいずれとも異なる場合は、たとえアクティブであってもミニバッファーウィンドウは含まれない。

オプション引数all-framesは、考慮に入れるフレームを指定する:

複数のフレームが考慮される場合は、すべての生きたフレームのリストの順にしたがってそれらのフレームを順に追加することにより、サイクル順を取得する(Finding All Framesを参照)。

Function: previous-window &optional window minibuf all-frames

この関数は、ウィンドウのサイクル順においてwindowの前に位置する、生きたウィンドウをリターンする。その他の引数は、next-windowの場合と同様に処理される。

Command: other-window count &optional all-frames

この関数は、ウィンドウのサイクル順において、選択されたウィンドウからcount番目に位置する、生きたウィンドウをリターンする。countが正の数ならcount個のウィンドウを前方にスキップし、負の数なら-count個のウィンドウを後方にスキップする。countが0の場合は、選択されたウィンドウを単に再選択する.インタラクティブに呼び出された場合、countはプレフィックス数引数である。

オプション引数all-framesは、next-windownilminibuf引数を指定したときのnext-windowの場合と同じ意味をもつ。

この関数は、非nilのウィンドウパラメーターno-other-windowをもつウィンドウを選択しない。

Function: walk-windows fun &optional minibuf all-frames

この関数は、生きたウィンドウそれぞれにたいして、ウィンドウを引数に関数funを呼び出す。

これはウィンドウのサイクル順にしたがう。オプション引数minibufall-framesは、含まれるウィンドウセットを指定する。これらは、next-windowの引数の場合と同じ意味をもつ。all-framesがフレームを指定する場合、最初に処理されるのはそのフレームの最初のウィンドウ(frame-first-windowがリターンするウィンドウ)であり、選択されたウィンドウである必要はない。

funがウィンドウの分割や削除によりウィンドウ構成を変更する場合でも、処理するウィンドウセットは初回のfun呼び出しに先立ち決定されるため、変更されない。

Function: one-window-p &optional no-mini all-frames

この関数は、選択されたウィンドウが唯一の生きたウィンドウの場合はt、それ以外はnilをリターンする。

ミニバッファーウィンドウがアクティブな場合、ミニバッファーウィンドウは通常は考慮される(そのため、この関数はnilをリターンする)。しかし、オプション引数no-miniが非nilの場合は、たとえアクティブであっても、ミニバッファーウィンドウは無視される。オプション引数all-framesは、next-windowの場合と同じ意味をもつ。

以下は、何らかの条件を満足するウィンドウを、それらを選択することなくリターンする関数です:

Function: get-lru-window &optional all-frames dedicated not-selected

この関数は、発見的には“もっとも最近に使用された”ウィンドウであるような、生きたウィンドウをリターンする。オプション引数all-framesは、next-windowの場合と同じ意味をもつ。

フル幅のウィンドウが存在する場合は、それらのウィンドウだけが考慮される。ミニバッファーが候補になることは、決してない。オプション引数dedicatednilの場合は、専用のバッファー(Dedicated Windowsを参照)が候補になることは、決してない。唯一の候補が選択されたウィンドウである場合以外は、決して選択されたウィンドウをリターンしない。しかし、オプション引数not-selectedが非nilならば、そのような場合でもこの関数はnilをリターンする。

Function: get-largest-window &optional all-frames dedicated not-selected

この関数は、もっとも大きいエリア(高さ掛ける幅)をもつウィンドウをリターンする。オプション引数all-framesは検索するウィンドウを指定し、意味はnext-windowの場合と同様。

ミニバッファーウィンドウは決して候補とならない。オプション引数dedicatednilの場合、専用ウィンドウ(Dedicated Windowsウィンドウを参照)は決して候補にならない。オプション引数not-selectedが非nilの場合、選択されたウィンドウは決して候補にならない。オプション引数not-selectedが非nil、かつ唯一の候補が選択されたウィンドウの場合、この関数はnilをリターンする。

同サイズの候補ウィンドウが2つある場合、この関数はウィンドウのサイクル順で、選択されたウィンドウから数えて最初にあるウィンドウを優先する。

Function: get-window-with-predicate predicate &optional minibuf all-frames default

この関数は、ウィンドウのサイクル順内の各ウィンドウにたいして、そのウィンドウを引数に、関数predicateを順に呼び出す。いずれかのウィンドウにたいしてpredicateが非nilをリターンした場合、この関数は処理を停止して、そのウィンドウをリターンする。そのようなうlが見つからなければ、リターン値はdefault(これのデフォルトはnil)となる。

オプション引数 minibufall-framesは検索するウィンドウを指定し、意味はnext-windowの場合と同様である。