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


27.25 Window Parameters

このセクションでは、ウィンドウに追加の情報を関連付けるためにウィンドウパラメーターを使用する方法を説明します。

Function: window-parameter window parameter

この関数は、windowparameterの値をリターンする。windowのデフォルトは、選択されたウィンドウである。windowparameterにたいするセッティングがない場合、この関数はnilをリターンする。

Function: window-parameters &optional window

この関数は、windowのすべてのパラメーターと、その値をリターンする。windowのデフォルトは、選択されたウィンドウである。リターン値はnil、または(parameter . value)という形式をもつ要素からなる連想リストである。

Function: set-window-parameter window parameter value

この関数は、windowparameterの値にvalueをセットして、valueをリターンする。windowのデフォルトは、選択されたウィンドウである。

デフォルトでは、ウィンドウ構成(window configuration)やウィンドウ状態(states of windows)の保存とリストアを行う関数は、ウィンドウパラメーターについては関知しません(Window Configurationsを参照)。これは、save-window-excursionのbody内でパラメーターの値を変更したときは、そのマクロのexit時に以前の値がリストアされないことを意味します。これはまた、以前にwindow-state-getで保存されたウィンドウ状態をwindow-state-putでリストアしたときは、クローンされたすべてのウィンドウのパラメーターがnilにリセットされることも意味します。以下の変数により、この標準の挙動をオーバーライドできます:

Variable: window-persistent-parameters

この変数は、current-window-configurationwindow-state-getにより保存され、set-window-configurationwindow-state-putによりリストアされるパラメーターを指定するalistである。Window Configurationsを参照のこと。

このalistの各エントリーのCARはパラメーターを指定するシンボルである。CDRは以下のいずれかであること:

nil

この値は、そのパラメーターがwindow-state-getcurrent-window-configurationのいずれによっても保存されていないことを意味する。

t

この値は、そのパラメーターがcurrent-window-configuration、および(writable引数がnilの場合は)window-state-getにより保存されたことを意味する。

writable

これは、そのパラメーターが無条件でcurrent-window-configurationwindow-state-getの両方により保存されたことを意味する。この値は、入力構文(read syntax)をもたないパラメーターに使用するべきではない。使用した場合、別のセッションでwindow-state-putを呼び出すと、invalid-read-syntaxエラーで失敗するだろう。

いくつかの関数(特にdelete-windowdelete-other-windowssplit-window)は、window引数にパラメーターセットをもつ場合は特別な挙動を示すかもしれません。以下の変数を非nil値にバインドすることにより、そのような特別な挙動をオーバーライドできます:

Variable: ignore-window-parameters

この変数が非nilの場合、いくつかの標準関数はウィンドウパラメーターを処理しない。現在のところ影響を受ける関数はsplit-windowdelete-windowdelete-other-windowsother-windowである。

アプリケーションは、これらの関数の呼び出し周辺で、この変数を非nilにバインドできる。これを行った場合、そのアプリケーションはその関数のexit時に、関連するすべてのウィンドウのパラメーターを正しく割り当てる責任をもつ。

以下のパラメーターは現在のところ、ウィンドウ管理コードにより使用されています:

delete-window

このパラメーターは、delete-windowの実行に影響する(Deleting Windowsを参照)。

delete-other-windows

このパラメーターは、delete-other-windowsの実行に影響する(Deleting Windowsを参照)。

split-window

このパラメーターは、split-windowの実行に影響する(Splitting Windowsを参照)。

other-window

このパラメーターは、other-windowの実行に影響する(Cyclic Window Orderingを参照)。

no-other-window

このパラメーターは、そのウィンドウをother-windowにより選択不可とマークする(Cyclic Window Orderingを参照)。

clone-of

このパラメーターは、そのウィンドウがクローンされたことを指定する。これはwindow-state-getによりインストールされる(Window Configurationsを参照)。

quit-restore

このパラメーターは、バッファー表示関数によりインストールされ、quit-restore-windowにより参照される(Quitting Windowsを参照)。これは4つの要素を含む:

1つ目の要素はwindow(ウィンドウはdisplay-bufferにより特別に作られた)、frame(別のフレームが作られた)、same(ウィンドウは前と同じバッファーを表示する)、other(ウィンドウは前と異なるバッファーを表示する)のシンボルのいずれかである。

2つ目の要素はシンボルwindowframe、または要素がそのウィンドウに前に表示されていたバッファー、そのときのウィンドウstart位置、ウィンドウポイント位置、ウィンドウの高さであるようなリストの、いずれかである。

3つ目の要素は、そのパラメーター作成時点に選択されていたウィンドウである。関数quit-restore-windowは、その引数としてこのウィンドウが渡された際は、そのウィンドウの再選択を試みる。

4つ目の要素は、その表示がこのパラメーターの生成を引き起こしたバッファーである。quit-restore-windowは、指定されたウィンドウがまだそのバッファーを表示している場合のみ、それを削除する。

追加のパラメーターとして、window-atomwindow-sideがあります。これらは予約されており、アプリケーションが使用するべきではありません。