Previous: Window Frame Parameters, Up: Frame Parameters


28.3.4 フレームのサイズと位置

フレームパラメータlefttopheightwidthを 使って、フレームのサイズや位置を読み取ったり変更できます。 指定しなかった大きさと位置のパラメータは、 ウィンドウマネージャが通常どおりに選びます。

以下はサイズや位置を操作する特別な機能です。

— Function: set-frame-position frame left top

この関数は、フレームframeの左上隅の位置を left(左端)とtop(上端)にする。 これらの引数は、スクリーンの左上隅からピクセル単位で数える。

パラメータ値が負であると、スクリーンの下端から測ってウィンドウの下端を 位置決めしたり、スクリーンの右端から測ってウィンドウの右端を位置決めする。 つねに左端や上端から測った値にして、負の値はフレームを スクリーンの上端や左端から部分的にはみ出して位置決めする 意味にするほうがよいかもしれないが、 現状ではそのように変えるのは不適当と思われる。

— Function: frame-height &optional frame
— Function: frame-width &optional frame

この関数は、フレームframeの高さや幅を行単位やコラム単位で返す。 frameを指定しないと、選択されているフレームを使う。

— Function: screen-height
— Function: screen-width

これらの関数はframe-heightframe-widthの古い別名である。 文字端末を使っている場合、通常、フレームの大きさは 端末スクリーンの大きさと同じである。

— Function: frame-pixel-height &optional frame
— Function: frame-pixel-width &optional frame

これらの関数は、フレームframeの高さや幅をピクセル単位で返す。 frameを指定しないと、選択されているフレームを使う。

— Function: frame-char-height &optional frame
— Function: frame-char-width &optional frame

これらの関数は、フレーム内の文字の高さや幅をピクセル単位で返す。 frameを指定しないと、選択されているフレームを使う。

— Function: set-frame-size frame cols rows

この関数は、フレームframeの大きさを文字単位で指定する。 colsrowsは、新たな幅と高さを指定する。

ピクセル単位で大きさを指定するには、 frame-char-heightframe-char-widthで ピクセル単位の値を文字単位に変換する。

— Function: set-frame-height frame lines &optional pretend

この関数は、フレームframeの高さをlines行に変える。 それに合わせてframe内の既存のウィンドウの大きさは比例して変わる。

pretendnil以外であると、 Emacsはframelinesだけを表示するが、 フレームの実際の高さは変更しない。 これは端末フレームでのみ有用である。 実際の端末より小さな高さを使うと、小さなスクリーンでの動作を再現したり、 スクリーン全体を使うと端末が誤動作するような場合に有用である。 フレームの『実際』の高さを指定してもつねにそうなるとは限らない。 端末フレーム上で正しくカーソルを位置決めするには、 実サイズを知る必要がある場合もあるからである。

— Function: set-frame-width frame width &optional pretend

この関数は、フレームframeの幅を設定する。 引数pretendset-frame-heightと同じ意味を持つ。

set-screen-heightset-screen-widthの古い関数は、 複数フレームを扱えないEmacsの版でスクリーンの高さや幅を 指定するために使われていました。 これらはほぼ廃れていますが、まだ動作します。 これらは選択されているフレームに適用されます。

— Function: x-parse-geometry geom

関数x-parse-geometryは、Xウィンドウの標準のジオメトリ文字列を make-frameの引数の一部に使えるように連想リストに変換する。

この連想リストは、geomで指定されているパラメータとその値を記述する。 各要素は(parameter . value)の形である。 parameterの可能な値は、 lefttopwidthheightである。

大きさを表すパラメータでは、その値は整数であること。 位置を表すパラメータでは、右端や下端の位置を表す値もあるので、 lefttopというパラメータ名は必ずしも正確ではない。 位置を表すパラメータの可能なvalueはつぎのとおりである。

整数
正の整数は、ウィンドウの左端や上端をスクリーンの左端や上端に関連付ける。 負の整数は、ウィンドウの右端や下端をスクリーンの右端や下端に関連付ける。
(+ position)
スクリーンの左端や上端を基準にしたウィンドウの左端や上端の位置を指定する。 整数positionは正でも負でもよいが、 負の値はスクリーンからはみ出した位置を指定する。
(- position)
スクリーンの右端や下端を基準にしたウィンドウの右端や下端の位置を指定する。 整数positionは正でも負でもよいが、 負の値はスクリーンからはみ出した位置を指定する。

例を示す。

          (x-parse-geometry "35x70+0-0")
               ⇒ ((height . 70) (width . 35)
                   (top - 0) (left . 0))