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


27.8 ウィンドウの選択

Function: select-window window &optional norecord

この関数はwindowを選択されたウィンドウにして、そのフレーム内で選択されたウィンドウ(Basic Windowsを参照)にしてそのフレームを選択する。またwindowのバッファー(Buffers and Windowsを参照)をカレントにして、そのバッファーのpointの値(Window Pointを参照)をwindowwindow-pointの値にセットする。windowは生きたウィンドウでなければならない。リターン値はwindow

この関数はデフォルトではwindowのバッファーをバッファーリストの先頭(Buffer Listを参照)に移動して、windowをもっとも最近選択されたウィンドウにする。しかしオプション引数norecordが非nilならこれらの追加処理は省略される。

この関数は、norecordnilならば、buffer-list-update-hook(Buffer List)を実行する。コーディングを単純にするために、アプリケーションや内部ルーチンは、しばしばウィンドウを一時的に選択することがあることに注意。一般的には、そのような選択(以下のマクロsave-selected-windowwith-selected-windowによる選択も含む)は記録されないので、buffer-list-update-hookの汚染は避けられる。選択を“実際にカウント”するのは、windowのフレームの次回表示時に可視の変更が発生したときで、それらは常に記録されるべきである。これは、あるウィンドウが選択されるたびに関数を実行するためには、それをbuffer-list-update-hookに配するのが良い選択であることも意味している。

引数norecordに非nilを指定したselect-windowの連続呼び出しは、ウィンドウの並び順を選択時刻により決定します。関数get-lru-windowは、もっとも昔に選択された生きたウィンドウ(Cyclic Window Orderingを参照)を取得するために使用できます。

Macro: save-selected-window forms…

このマクロは選択されたフレーム、同様に各フレームの選択されたウィンドウを記録して、formsを順に実行してから以前に選択されていたフレームとウィンドウをリストアする。これはカレントバッファーの保存とリストアも行う。リターン値はforms内の最後のフォームの値。

このマクロはウィンドウのサイズ、コンテンツ、配置についての保存やリストアは何も行わない。したがってformsがそれらを変更すると、その変更は永続化される。あるフレームにおいて以前に選択されていたウィンドウがformsのexit時にすでに生きていなければ、そのフレームの選択されたウィンドウはそのまま放置される。以前に選択されていたウィンドウがすでに生きていなければformsの最後に選択されていたウィンドウが何であれ、それが選択されたままになる。カレントバッファーformsのexit時にそれが生きている場合のみリストアされる。

このマクロは、もっとも最近に選択されたウィンドウとバッファーリストの順番をいずれも変更しない。

Macro: with-selected-window window forms…

このマクロはwindowを選択して、formsを順に実行してから以前に選択されていたウィンドウとカレントバッファーをリストアする。たとえば引数norecordnilselect-windowを呼び出す等、forms内で故意に変更しない限り、もっとも最近に選択されたウィンドウとバッファーリストの順番は変更されない。

このマクロは、もっとも最近に選択されたウィンドウとバッファーリストの順番を変更しない。

Function: frame-selected-window &optional frame

この関数はフレームframe内で選択されているウィンドウをリターンする。frameは生きたフレームであること。省略またはnilの場合のデフォルトは選択されたフレーム。

Function: set-frame-selected-window frame window &optional norecord

この関数はwindowをフレームframe内で選択されたウィンドウにする。frameは生きたフレームであること。省略またはnilの場合のデフォルトは選択されたフレーム。windowは生きたウィンドウであること。省略またはnilの場合のデフォルトは選択されたウィンドウ。

frameが選択されたフレームなら、windowを選択されたウィンドウにする。

オプション引数norecordが非nilなら、この関数はもっとも最近に選択されたウィンドウのリストとバッファーリストをいずれも変更しない。