フレームパラメータleft
、top
、height
、width
を
使って、フレームのサイズや位置を読み取ったり変更できます。
指定しなかった大きさと位置のパラメータは、
ウィンドウマネージャが通常どおりに選びます。
以下はサイズや位置を操作する特別な機能です。
この関数は、フレームframeの左上隅の位置を left(左端)とtop(上端)にする。 これらの引数は、スクリーンの左上隅からピクセル単位で数える。
パラメータ値が負であると、スクリーンの下端から測ってウィンドウの下端を 位置決めしたり、スクリーンの右端から測ってウィンドウの右端を位置決めする。 つねに左端や上端から測った値にして、負の値はフレームを スクリーンの上端や左端から部分的にはみ出して位置決めする 意味にするほうがよいかもしれないが、 現状ではそのように変えるのは不適当と思われる。
この関数は、フレームframeの高さや幅を行単位やコラム単位で返す。 frameを指定しないと、選択されているフレームを使う。
これらの関数は
frame-height
やframe-width
の古い別名である。 文字端末を使っている場合、通常、フレームの大きさは 端末スクリーンの大きさと同じである。
これらの関数は、フレームframeの高さや幅をピクセル単位で返す。 frameを指定しないと、選択されているフレームを使う。
これらの関数は、フレーム内の文字の高さや幅をピクセル単位で返す。 frameを指定しないと、選択されているフレームを使う。
この関数は、フレームframeの大きさを文字単位で指定する。 colsとrowsは、新たな幅と高さを指定する。
ピクセル単位で大きさを指定するには、
frame-char-height
とframe-char-width
で ピクセル単位の値を文字単位に変換する。
この関数は、フレームframeの高さをlines行に変える。 それに合わせてframe内の既存のウィンドウの大きさは比例して変わる。
pretendが
nil
以外であると、 Emacsはframeのlinesだけを表示するが、 フレームの実際の高さは変更しない。 これは端末フレームでのみ有用である。 実際の端末より小さな高さを使うと、小さなスクリーンでの動作を再現したり、 スクリーン全体を使うと端末が誤動作するような場合に有用である。 フレームの『実際』の高さを指定してもつねにそうなるとは限らない。 端末フレーム上で正しくカーソルを位置決めするには、 実サイズを知る必要がある場合もあるからである。
この関数は、フレームframeの幅を設定する。 引数pretendは
set-frame-height
と同じ意味を持つ。
set-screen-height
とset-screen-width
の古い関数は、
複数フレームを扱えないEmacsの版でスクリーンの高さや幅を
指定するために使われていました。
これらはほぼ廃れていますが、まだ動作します。
これらは選択されているフレームに適用されます。
関数
x-parse-geometry
は、Xウィンドウの標準のジオメトリ文字列をmake-frame
の引数の一部に使えるように連想リストに変換する。この連想リストは、geomで指定されているパラメータとその値を記述する。 各要素は
(
parameter.
value)
の形である。 parameterの可能な値は、left
、top
、width
、height
である。大きさを表すパラメータでは、その値は整数であること。 位置を表すパラメータでは、右端や下端の位置を表す値もあるので、
left
やtop
というパラメータ名は必ずしも正確ではない。 位置を表すパラメータの可能なvalueはつぎのとおりである。
- 整数
- 正の整数は、ウィンドウの左端や上端をスクリーンの左端や上端に関連付ける。 負の整数は、ウィンドウの右端や下端をスクリーンの右端や下端に関連付ける。
(+
position)
- スクリーンの左端や上端を基準にしたウィンドウの左端や上端の位置を指定する。 整数positionは正でも負でもよいが、 負の値はスクリーンからはみ出した位置を指定する。
(-
position)
- スクリーンの右端や下端を基準にしたウィンドウの右端や下端の位置を指定する。 整数positionは正でも負でもよいが、 負の値はスクリーンからはみ出した位置を指定する。
例を示す。
(x-parse-geometry "35x70+0-0") => ((height . 70) (width . 35) (top - 0) (left . 0))