Next: Geometry, Previous: Window Frame Parameters, Up: Frame Parameters [Contents][Index]
フレームパラメーターleft
、top
、height
、width
を使用することにより、フレームのサイズと位置の読み取りや変更ができます。未指定のジオメトリーパラメーターは、それが何であれウィンドウマネージャーの通常の方法により選択されます。
以下はサイズやポジションの特別な機能にたいして動作します(正確には、これらの関数により使用される“選択されたフレーム”にたいして動作するという意味。Input Focusを参照のこと)。
この関数は、frameの左上隅をleft、topにセットする。これらの引数はピクセル単位で、通常はスクリーンの左上隅から測られる。
負のパラメーター値は、スクリーン下端から上方向にウィンドウ下端、またはスクリーン右端から左方向にウィンドウ右端の位置である。この値が常に左上隅から数えるようにして、負の引数ならフレームの一部をスクリーン左上隅の外側に配置するようにしたほうがよいのだろうが、今更これを変更するのは賢明と思えない。
これらの関数は、行または列で測ったframeの高さまたは幅をリターンする。frameを指定しないと選択されたフレームを使用する。
これらの関数は、ピクセルで測ったframeの主要表示領域の高さまたは幅をリターンする。frameを指定しないと選択されたフレームを使用する。テキスト端末では、結果はピクセルではなく文字単位となる。
これらの値には各ウィンドウの内枠ボーダー(internal borders)、スクロールバー、フリンジ(これらはフレーム自体ではなく個別のウィンドウに属す)が含まれる。高さの正確な値は、そのウィンドウシステムと使用するツールキットに依存する。GTK+では、高さにツールバーやメニューバーは含まれない。MotifとLucidのツールキットでは、ツールバーは含まれるが、メニューバーは含まれない。ツールキットなしのグラフィカルなバージョンでは、ツールバーとメニューバーの両方が含まれる。テキスト端末の場合は、結果にメニューバーが含まれる。
これらの関数は、ピクセルで測ったframeの高さまたは幅をリターンする。値は選択されたフォントに依存する。frameを指定しないと選択されたフレームを使用する。
このオプションがnil
なら、フレームのサイズは、通常はそのフレームのframe-char-height
とframe-char-width
のカレント値の倍数に丸められる。非nil
の場合、丸めは行われずフレームのサイズはピクセル単位で増加/減少が可能になる。
これをセットすることにより、次回のリサイズ処理では、ウィンドウマネージャーにこれに相当するサイズのヒントを渡す。これは、ユーザーの初期ファイル内でのみこの変数をセットすべきで、アプリケーションが一時的にこれをバインドすべきではないことを意味する。
このオプションにたいしてnil
値がもつ正確な意味は、使用されるツールキットに依存する。マウスによるフレームボーダーのドラッグは、通常は文字単位で行われる。文字サイズの整数倍ではないフレームサイズを引数としてset-frame-size
(以下参照)を呼び出すと、もしかしたら丸められたり(GTK+)、あるいは受容される(Lucid、Motif、MS-Windows)かもしれない。
いくつかのウィンドウマネージャーでは、フレームを本当に“最大化”あるいは“全画面”で表示させるためには、これを非nil
にセットする必要があるかもしれない。
この関数は、文字単位でframeのサイズをセットする。widthは列数で新たな幅を指定し、heightは行数で新たな高さを指定する。
オプション引数pixelwiseが非nil
なら、かわりにピクセル単位で新たな幅と高さを測ることを意味する。frame-resize-pixelwise
がnil
の場合には、それが文字の整数倍でフレームサイズを増加や減少させないなら、この要求を完全には尊重せずに拒絶するツールキットがいくつかあることに注意。
この関数は、frameを高さheight行にリサイズする。frame内の既存ウィンドウのサイズは、フレームにフィットするよう比例して変更される。
pretendが非nil
の場合、Emacsはframe内でheight行の出力を表示するが、そのフレームの実際の高さにたいする値は変更しない。これはテキスト端末上でのみ有用である。端末が実際に実装するより小さい高さの使用は、より小さいスクリーン上での振る舞いの再現したり、スクリーン全体を使用時の端末の誤動作を観察するとき有用かもしれない。フレームの高さを“実際”のようにセットするのは、常に機能するとは限らない。なぜなら、テキスト端末上でのカーソルを正しく配置するために、正確な実サイズを知る必要があるかもしれないからである。
オプションの第4引数pixelwiseが非nil
なら、それはframeの高さがheightピクセル高くなることを意味する。frame-resize-pixelwise
がnil
なら、それが文字の整数倍でフレームサイズを増加や減少させない場合には、この要求を完全には尊重せずに拒絶するツールキットがいくつかあることに注意。
この関数は、文字単位でframeの幅をセットする。引数pretendは、set-frame-height
のときと同じ意味をもつ。
オプションの第4引数pixelwiseが非nil
なら、それはframeの幅がheightピクセル広くなることを意味する。frame-resize-pixelwise
がnil
なら、それが文字の整数倍でフレームサイズを増加あるいは減少させない場合には、この要求を完全には尊重せずに拒絶するツールキットがいくつかあることに注意。
ウィンドウ1つだけを表示するフレームの場合は、コマンドfit-frame-to-buffer
を使用してそのフレームをウィンドウのバッファーにフィットさせることができます。
このコマンドは、frame内のバッファーのコンテンツを正確に表示するために、frameのサイズを調整する。frameには任意の生きたフレームを指定でき、デフォルトは選択されたフレームである。この調整は、frameのルートウィンドウが生きている場合のみ行われる。引数max-height、min-height、max-width、min-widthはframeのルートウィンドウの新たなトータルサイズの境界を指定する。min-heightとmin-widthのデフォルトは、window-min-height
およびwindow-min-width
である。
オプション引数onlyがvertically
の場合、この関数はフレームを垂直方向にたいしてだけリサイズするだろう。onlyがhorizontally
なら、水平方向だけにリサイズする。
fit-frame-to-buffer
の挙動は、以下にリストに挙げた2つのオプションにより制御できます。
このオプションは、fit-frame-to-buffer
によりフィットされるフレーム周囲のマージンを指定する。このようなマージンは、たとえばフレームがタスクバーとオーバーラップするのを防ぐのに有用かもしれない。
これは、フィットされるフレームの上下左右にフリーのまま残すピクセル数を指定する。デフォルトはnil
で、これは上下左右にマージンを使用しないことを意味する。ここで指定した値は、フレームのfit-frame-to-buffer-margins
パラメーターが与えられていれば、それにオーバーライドされるかもしれない。
このオプションは、fit-frame-to-buffer
にたいしてサイズの境界を指定する。これは、自身のバッファーにフィットされるすべてのフレームのルートウィンドウの最小/最大の行数および最小/最大の列数のトータルを指定する。これらの値のいずれかが非nil
なら、fit-frame-to-buffer
の相当する引数をオーバーライドする。