Next: Window Configurations, Previous: Horizontal Scrolling, Up: Windows [Contents][Index]
このセクションでは、ウィンドウの位置を報告する関数を説明します。これらの関数のほとんどは、そのウィンドウのフレームから相対的な位置を報告します。この場合の座標原点‘(0,0)’は、そのフレームの左上隅付近になります。技術的な理由から、グラフィカルなディスプレイ上では、原点はスクリーン上のグラフィカルなウィンドウの左上隅に正確には配置されません。EmacsがGTK+とともにビルドされた場合、原点は(Emacsではなくウィンドウマネージャーおよび/またはGTK+により描画される)タイトルバー、GTK+メニューバー、ツールバーの下のEmacsウィンドウ表示に使用されるフレーム領域の左上隅になります。しかし、GTK+なしでEmacsがビルドされた場合の原点は、ツールバーの左上隅になります(この場合はEmacs自身がツールバーを描画する)。どちらの場合も、X座標とY座標は、右または下に行くにつれ増加します。
注記された箇所を除き、X座標とY座標は整数の文字単位(行数と列数)で報告されます。グラフィカルなディスプレイ上では、“行”と“列”はそれぞれ、そのフレームのデフォルトフォントにより指定される、デフォルト文字の高さと幅に対応します。
この関数はwindow端の座標のリストをリターンする。windowが省略またはnil
の場合のデフォルトは選択されたウィンドウ。
リターン値は(left top right
bottom)
という形式をもつ。リストの要素は順にそのウィンドウにより占有される最左列のX座標、最上行のY座標、最右列より1列右のX座標、最下行より1行下のY座標。
これらはヘッダーライン、モードライン、スクロールバー、ウィンドウディバイダー、ディスプレイマージンを含むウィンドウの実際の端であることに注意。テキスト端末ではそのウィンドウの右に隣接するウィンドウがあれば、ウィンドウの右端にはそのウィンドウと隣接するウィンドウの間のセパレーターラインが含まれる。
この関数はwindow-edges
と似ているが、そのウィンドウのテキストエリア端の値をリターンする。これらからはヘッダーライン、モードライン、スクロールバー、フリンジ、ウィンドウディバイダー、ディスプレイマージン、垂直セパレーターは除外される。
この関数は、windowの最上行のY座標をリターンする。これはwindow-edges
によりリターンされるリストのtopエントリーと等価である。
この関数は、windowの最左列のX座標をリターンする。これはwindow-edges
によりリターンされるリストのleftエントリーと等価である。
以下の関数は一連のフレーム相対座標(frame-relative coordinates)からウィンドウへの関連付けに使用できます:
この関数は、フレームframe上の、フレーム相対座標x、yにある生きたウィンドウをリターンする。その位置にウィンドウがなければ、nil
をリターンする。frameが省略またはnil
の場合のデフォルトは、選択されたフレームである。
この関数は、ウィンドウwindowがフレーム相対座標coordinatesを占有するかどうかをチェックし、もしそうならウィンドウのどの部分かをチェックする。windowは生きたウィンドウであること。coordinatesは(x
. y)
という形式であるべきで、xとyはフレーム相対座標であること。
指定された位置にウィンドウが存在しなければリターン値はnil
。それ以外ではリターン値は以下のいずれか:
(relx . rely)
その座標はwindow内にある。数値relxとrelyは指定された位置にたいする、ウィンドウ左上隅を原点に0から数えたウィンドウ相対座標と等価。
mode-line
その座標はwindowのモードライン内にある。
header-line
その座標はwindowのヘッダーライン内にある。
right-divider
その座標はwindowと右に隣接するウィンドウを分けるディバイダー内にある。
right-divider
その座標はwindowと下にあるウィンドウを分けるディバイダー内にある。
vertical-line
その座標はwindowと右に隣接するウィンドウを分ける垂直ライン内にある。この値はウィンドウにスクロールバーがないときのみ発生し得る。スクロールバー内の位置はこれらの目的にたいしてはウィンドウ外側と判断される。
left-fringe
right-fringe
その座標はウィンドウの左か右のフリンジ内にある。
left-margin
right-margin
その座標はウィンドウの左か右のマージン内にある。
nil
その座標はwindowのいずれの部分でもない。
関数coordinates-in-window-p
はwindowのあるフレームを使用するので引数としてフレームを要求しない。
以下の関数は、文字単位ではなくピクセル単位でウィンドウ位置をリターンします。主にグラフィカルなディスプレイで有用ですが、テキスト端末上でも呼び出すことができ、その場合は各文字の占めるスクリーン領域が“1ピクセル”となります。
この関数は、window端のピクセル座標のリストをリターンする。windowが省略またはnil
の場合のデフォルトは、選択されたウィンドウである。
リターン値は(left top right
bottom)
という形式をもつ。リストの要素は順にウィンドウ左端のXピクセル座標、上端のYピクセル座標、右端のXピクセル座標+1、下端のYピクセル座標+1である。
この関数はwindow-pixel-edges
と同様だが、ウィンドウ端のピクセル座標ではなく、ウィンドウのテキストエリア端のピクセル座標をリターンする。windowには生きたウィンドウを指定しなければならない。
以下の関数は、フレームではなく、ディスプレイ画面(display screen)に相対的なウィンドウ位置をピクセルでリターンする。
この関数はwindow-pixel-edges
と同様だが、ディスプレイ画面の左上隅からの相対ピクセル座標でウィンドウ端の座標をリターンする。
この関数はwindow-inside-pixel-edges
と同様だが、ディスプレイ画面の左上隅からの相対ピクセル座標でウィンドウのテキストエリア端の座標をリターンする。windowには生きたウィンドウを指定しなければならない。
この関数は、ウィンドウwindowの左端のピクセルをリターンする。windowは有効なウィンドウでなければならず、デフォルトは選択されたウィンドウである。
この関数は、ウィンドウwindowの上端のピクセルをリターンする。windowは有効なウィンドウでなければならず、デフォルトは選択されたウィンドウである。