Next: , Previous: , Up: Object Internals   [Contents][Index]


E.8.2 ウィンドウの内部

ウィンドウのフィールドには以下が含まれます(完全なリストはwindow.hstruct windowを参照):

frame

そのウィンドウがあるフレーム。

mini_p

そのウィンドウがミニバッファーウィンドウなら非nil

parent

Emacsは内部的にウィンドウをツリーにアレンジする。ウィンドウの兄弟グループは、そのエリアがすべての兄弟を含むような親ウィンドウをもつ。このフィールドはウィンドウの親を指す。

親ウィンドウはバッファーを表示せず子ウィンドウ形成を除いて表示では少ししか役割を果たさない。Emacs Lispプログラムからは通常は親ウィンドウへのアクセスがない。Emacs Lispプログラムでは実際にバッファーを表示するツリーの子ノードのウィンドウにたいして操作を行う。

hchild
vchild

これらのフィールドはウィンドウの左端の子と上端の子を含む。子ウィンドウによりウィンドウが分割される場合にはhchild、垂直に分割される場合にはvchildが使用される。生きたウィンドウではhchildvchildbufferのいずれか1つだけが非nilになる。

next
prev

そのウィンドウの次の兄弟と前の兄弟。自身のグループ内でそのウィンドウが右端か下端ならnextnil。自身のグループ内でそのウィンドウが左端か上端ならprevnil

left_col

そのウィンドウの左端をフレームの最左列(列0)から相対的に数えた列数。

top_line

そのウィンドウの上端をフレームの最上行(行0)から相対的に数えた行数。

total_cols
total_lines

列数と行数で数えたウィンドウの幅と高さ。幅にはスクロールバーとフリンジおよび/または(もしあれば)ウィンドウ右側のセパレーターラインが含まれる。

buffer

そのウィンドウが表示しているバッファー。

start

そのウィンドウ内に表示されるバッファーでウィンドウに最初に表示される文字の位置を指すマーカー。

pointm

これはウィンドウが選択されているときのカレントバッファーのポイント値。選択されていなければ前の値が保たれる。

force_start

このフラグが非nilならLispプログラムによりそのウィンドウが明示的にスクロールされたことを示す。これはポイントがスクリーン外にある場合の次回再表示に影響を与える。影響とはポイント周辺のテキストを表示するためにウィンドウをスクロールするかわりに、スクリーン上にある位置にポイントを移動するというものである。

frozen_window_start_p

このフィールドは再表示にたいして、たとえポイントが不可視になったとしてもウィンドウのstartを変更するべきではないことを示すために一時的に1にセットされる。

start_at_line_beg

nilstartのカレント値がウィンドウ選択時に先頭行だったことを意味する。

use_time

これはウィンドウが最後に選択された時刻。関数get-lru-windowはこの値を使用する。

sequence_number

そのウィンドウ作成時に割り当てられた一意な番号。

last_modified

前回のそのウィンドウの再表示完了時のウィンドウのバッファーのmodiffフィールド。

last_overlay_modified

前回のウィンドウの再表示完了時のウィンドウのバッファーのoverlay_modiffフィールド。

last_point

前回のウィンドウの再表示完了時のウィンドウのバッファーのポイント値。

last_had_star

nil値はウィンドウが最後に更新されたときウィンドウのバッファーが変更されたことを意味する。

vertical_scroll_bar

そのウィンドウの垂直スクロールバー。

left_margin_cols
right_margin_cols

そのウィンドウの左マージンと右マージンの幅。値nilはマージンがないことを意味する。

left_fringe_width
right_fringe_width

そのウィンドウの左フリンジと右フリンジの幅。値niltはフレームの値の使用を意味する。

fringes_outside_margins

nil値はディスプレーマージン外側のフリンジ、それ以外ならフリンジはマージンとテキストの間にあることを意味する。

window_end_pos

これはzからウィンドウのカレントマトリクス内の最後のグリフのバッファー位置を減じて算出される。この値はwindow_end_validが非nilのときだけ有効。

window_end_bytepos

window_end_posに対応するバイト位置。

window_end_vpos

window_end_posを含む行のウィンドウに相対的な垂直位置。

window_end_valid

このフィールドはwindow_end_posが真に有効なら非nil値にセットされる。これは重要な再表示が先に割り込んだ場合には、window_end_posを算出した表示がスクリーン上に出現しなくなるのでnilとなる。

cursor

そのウィンドウ内でカーソルがどこにあるかを記述する構造体。

last_cursor

完了した最後の表示でのcursorの値。

phys_cursor

そのウィンドウのカーソルが物理的にどこにあるかを記述する構造体。

phys_cursor_type
phys_cursor_height
phys_cursor_width

そのウィンドウの最後の表示でのカーソルのタイプ、高さ、幅。

phys_cursor_on_p

このフィールドはカーソルが物理的にオンなら非0。

cursor_off_p

非0はそのウィンドウのカーソルが論理的にオフであることを意味する。これはカーソルの点滅に使用される。

last_cursor_off_p

このフィールドは最後の再表示時のcursor_off_pの値を含む。

must_be_updated_p

これはウィンドウを更新しなければならないとき、再表示の間は1にセットされる。

hscroll

これはウィンドウ内の表示が左へ水平スクロールされている列数。これは通常は0。

vscroll

ピクセル単位での垂直スクロール量。これは通常は0。

dedicated

そのウィンドウがそれのバッファー専用(dedicated)なら非nil

display_table

そのウィンドウのディスプレーテーブル、何も指定されていなければnil

update_mode_line

nilはウィンドウのモードラインの更新が必要なことを意味する。

base_line_number

そのバッファーの特定の位置の行番号かnil。これはモードラインでポイントの行番号を表示するために使用される。

base_line_pos

行番号が既知であるバッファー位置、未知ならnil。これがバッファーならウィンドウがバッファーを表示するかぎり行番号は表示されない。

column_number_displayed

そのウィンドウのモードラインに表示されているカレント列番号、列番号が表示されていなければnil

current_matrix
desired_matrix

そのウィンドウのカレント、および望まれる表示を記述するグリフ。