Next: ウィンドウのスクロールと変更のためのフック, Previous: ウィンドウの構成, Up: ウィンドウ [Contents][Index]
このセクションではウィンドウに追加の情報を関連付けるために使用できるウィンドウパラメーターを説明します。
この関数はwindowのparameterの値をリターンする。windowのデフォルトは選択されたウィンドウ。windowにparameterにたいするセッティングがなければ、この関数はnil
をリターンする。
この関数はwindowのすべてのパラメーターと値をリターンする。windowのデフォルトは選択されたウィンドウ。リターン値はnil
、または(parameter
. value)
という形式をもつ要素からなる連想リスト。
この関数はwindowのparameterの値にvalueをセットしてvalueをリターンする。windowのデフォルトは選択されたウィンドウ。
デフォルトではウィンドウ構成(window configuration)やウィンドウ状態(states of
windows)の保存とリストアを行う関数は、ウィンドウパラメーターについては関知しません(ウィンドウの構成を参照)。これはsave-window-excursion
のボディー内でパラメーターの値を変更したときは、そのマクロのexit時に以前の値がリストアされないことを意味します。これはまた以前にwindow-state-get
で保存されたウィンドウ状態をwindow-state-put
でリストアしたときは、クローンされたすべてのウィンドウのパラメーターがnil
にリセットされることも意味します。以下の変数によってこの標準の挙動をオーバーライドできます:
この変数はcurrent-window-configuration
とwindow-state-get
により保存、set-window-configuration
とwindow-state-put
によりリストアされるパラメーターを指定するalistである。ウィンドウの構成を参照のこと。
この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
の実行に影響する(ウィンドウの削除を参照)。
delete-other-windows
¶このパラメーターはdelete-other-windows
の実行に影響する(ウィンドウの削除を参照)。
no-delete-other-windows
¶このパラメーターはそのウィンドウをdelete-other-windows
により削除できないことをマークする(ウィンドウの削除を参照)。
split-window
¶このパラメーターはsplit-window
の実行に影響する(ウィンドウの分割を参照)。
other-window
¶このパラメーターはother-window
の実行に影響する(ウィンドウのサイクル順を参照)。
no-other-window
¶このパラメーターはそのウィンドウをother-window
による選択が不可だとマークする(ウィンドウのサイクル順を参照)。
clone-of
¶このパラメーターはそのウィンドウがクローンされたことを指定する。これはwindow-state-get
によりインストールされる(ウィンドウの構成を参照)。
window-preserved-size
¶このパラメーターはバッファー、方向(nil
は垂直でt
は水平)、ピクセル単位のサイズを指定する。そのウィンドウが指定されたバッファーを表示していて、かつ指示された方向のサイズがこのパラメーターで指定されたサイズと等しければ、Emacsはそのウィンドウの指示された方向のサイズを予約する。関数window-preserve-size
によりこのパラメーターのインストールと更新が行われる(ウィンドウサイズの保持を参照)。
quit-restore
¶このパラメーターはバッファー表示関数によりインストールされて、quit-restore-window
により参照される(ウィンドウのquitを参照)。これは4つの要素をもつリストであり、詳細はウィンドウのquitのquit-restore-window
の説明を参照のこと。
window-side
¶window-slot
これらはサイドウィンドウを実装するために内部的に使用される(サイドウィンドウを参照)。
window-atom
¶このパラメーターはアトミックウィンドウを実装するために内部的に使用される(アトミックウィンドウを参照)。
mode-line-format
¶このパラメーターはウィンドウが表示されるたびにそのウィンドウのバッファーのバッファーローカル変数mode-line-format
(モードラインの基礎を参照)の値を置き換える。シンボルnone
はそのウィンドウのモードライン表示の抑制を意味する。そのバッファーを表示する他のウィンドウのモードラインの表示とコンテンツは影響を受けない。
header-line-format
¶このパラメーターはウィンドウが表示されるたびにそのウィンドウのバッファーのバッファーローカル変数header-line-format
(モードラインの基礎を参照)の値を置き換える。シンボルnone
はそのウィンドウのヘッダーライン表示の抑制を意味する。そのバッファーを表示する他のウィンドウのヘッダーラインの表示とコンテンツは影響を受けない。
tab-line-format
¶このパラメーターはウィンドウが表示されるたびにそのウィンドウのバッファーのバッファーローカル変数tab-line-format
(モードラインの基礎を参照)の値を置き換える。シンボルnone
はそのウィンドウのタブライン表示の抑制を意味する。そのバッファーを表示する他のウィンドウのタブラインの表示とコンテンツは影響を受けない。
min-margins
¶このパラメーターの値はCARとCDRが非nil
のコンスセルなら、そのウィンドウの左ージンと右マージンの最小値を列数で指定する(マージン内への表示を参照)。与えられた場合には、Emacsはウィンドウを分割するか水平方向に縮小するかの判断にたいして、実際のマージン幅のかわりにこれらの値を使用する。
すべてのウィンドウにたいして、分割やリサイズ後にEmacsがマージンの自動調整をすることは決してない。これはそのウィンドウト分割のためにこのウィンドウのマージンを継承する新たなウィンドウニタイシテ、マージンを調整するためにこのパラメーターをセットするすべてのアプリケーション単独の責任である。window-configuration-change-hook
とwindow-size-change-functions
はいずれもこの用途に使用すること(ウィンドウのスクロールと変更のためのフックを参照)。
これはウィンドウ内でバッファーをセンタリングするために大きなマージンを使用するアプリケーションのサポート用にEmacsのバージョン25.1から導入されたパラメーターであり、それらのアプリケーションと排他となるよう留意して使用すること。Emacsの将来のバージョンで改善策により置換され得る。