Next: Window Hooks, Previous: Window Configurations, Up: Windows [Contents][Index]
このセクションではウィンドウに追加の情報を関連付けるためにウィンドウパラメーターを使用する方法を説明します。
この関数はwindowのparameterの値をリターンする。windowのデフォルトは選択されたウィンドウ。windowにparameterにたいするセッティングがなければ、この関数はnilをリターンする。
この関数はwindowのすべてのパラメーターと値をリターンする。windowのデフォルトは選択されたウィンドウ。リターン値はnil、または(parameter
. value)という形式をもつ要素からなる連想リスト。
この関数はwindowのparameterの値にvalueをセットしてvalueをリターンする。windowのデフォルトは選択されたウィンドウ。
デフォルトではウィンドウ構成(window configuration)やウィンドウ状態(states of
windows)の保存とリストアを行う関数は、ウィンドウパラメーターについては関知しません(Window Configurationsを参照)。これはsave-window-excursionのbody内でパラメーターの値を変更したときは、そのマクロのexit時に以前の値がリストアされないことを意味します。これはまた以前にwindow-state-getで保存されたウィンドウ状態をwindow-state-putでリストアしたときは、クローンされたすべてのウィンドウのパラメーターがnilにリセットされることも意味します。以下の変数によってこの標準の挙動をオーバーライドできます:
この変数はcurrent-window-configurationとwindow-state-getにより保存、set-window-configurationとwindow-state-putによりリストアされるパラメーターを指定するalistである。Window Configurationsを参照のこと。
このalistの各エントリーのCARはパラメーターを指定するシンボル。CDRは以下のいずれかであること:
nilこの値はそのパラメーターがwindow-state-getとcurrent-window-configurationのいずれによっても保存されていないことを意味する。
tこの値はそのパラメーターがcurrent-window-configuration、および(writable引数がnilなら)window-state-getにより保存されたことを意味する。
writableこれはそのパラメーターが無条件でcurrent-window-configurationとwindow-state-getの両方により保存されたことを意味する。この値は入力構文(read
syntax)をもたないパラメーターに使用するべきではない。使用した場合には、別のセッションでwindow-state-putを呼び出すとinvalid-read-syntaxエラーで失敗するだろう。
いくつかの関数(特にdelete-window、delete-other-windows、split-window)は、window引数にパラメーターセットをもつ場合には特別な挙動を示すかもしれません。以下の変数を非nil値にバインドすることにより、そのような特別な挙動をオーバーライドできます:
この変数が非nilなら、いくつかの標準関数はウィンドウパラメーターを処理しない。現在のところ影響を受ける関数はsplit-window、delete-window、delete-other-windows、other-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を参照)。
preserved-sizeこのパラメーターはバッファー、方向(nilは垂直でtは水平)、ピクセル単位のサイズを指定する。そのウィンドウが指定されたバッファーを表示していて、かつ指示された方向のサイズがこのパラメーターで指定されたサイズと等しければ、Emacsはそのウィンドウの指示された方向のサイズを予約する。関数window-preserve-sizeによりこのパラメーターのインストールと更新が行われる(Preserving Window Sizesを参照)。
quit-restoreこのパラメーターはバッファー表示関数によりインストールされて、quit-restore-windowにより参照される(Quitting Windowsを参照)。これは4つの要素を含む:
1つ目の要素はwindow (ウィンドウはdisplay-bufferにより特別に作成される)、frame
(別フレームを作成する)、same (ウィンドウは前と同じバッファーを表示する)、other
(ウィンドウは前と異なるバッファーを表示する)のシンボルのいずれかである。
2つ目の要素はシンボルwindow、frame、または要素がそのウィンドウに前に表示されていたバッファー、そのときのウィンドウstart位置、ウィンドウポイント位置、ウィンドウの高さであるようなリストのいずれか。
3つ目の要素はそのパラメーター作成時点に選択されていたウィンドウ。関数quit-restore-windowは、その引数としてこのウィンドウが渡された際にはそのウィンドウの再選択を試みる。
4つ目の要素はその表示がこのパラメーターの生成を引き起こしたバッファー。quit-restore-windowは指定されたウィンドウがまだそのバッファーを表示している場合のみそれを削除する。
min-marginsこのパラメーターの値は、(非nilなら)
CARとCDRがそのウィンドウの左右のマージンの最小値(列数)を指定するようなコンスセル。与えられた際には、Emacsはウィンドウを水平方向に分割または縮小できるかを決定するために、実際のマージン幅のかわりにこれらの値を使用するだろう。
すべてのウィンドウにたいして、分割やリサイズ後にEmacsがマージンの自動調整をすることは決してない。これはそのウィンドウト分割のためにこのウィンドウのマージンを継承する新たなウィンドウニタイシテ、マージンを調整するためにこのパラメーターをセットするすべてのアプリケーション単独の責任である。window-configuration-change-hookとwindow-size-change-functionsはいずれもこの用途に使用すること(Window Hooksを参照)。
これはウィンドウ内でバッファーをセンタリングするために大きなマージンを使用するアプリケーションのサポート用にEmacsのバージョン25.1から導入されたパラメーターであり、それらのアプリケーションと排他となるよう留意して使用すること。Emacsの将来のバージョンで改善策により置換され得る。
追加のパラメーターとしてwindow-atomとwindow-sideがあります。これらは予約済みでアプリケーションが使用するべきではありません。