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


27.8 Selecting Windows

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の場合、この関数はもっとも最近に選択されたウィンドウのリストとバッファーリストを、どちらも変更しない。