Next: , Previous: , Up: ウィンドウフレームパラメーター   [Contents][Index]


30.4.3.3 サイズのパラメーター

フレームパラメーターは通常はフレームのサイズを文字単位で指定します。グラフィカルなディスプレイ上ではdefaultフェイスがこれら文字単位の実際のピクセルサイズを決定します(フェイスの属性を参照)。

width

このパラメーターはフレームの幅を指定する。これは以下の方法でも指定できる:

整数

フレームのテキストエリア(フレームのジオメトリーを参照)の幅を文字単位で指定する正の整数。

a cons cell

これがCARにシンボルtext-pixelsをもつコンスセルなら、CDRはフレームのテキストエリアの幅をピクセル単位で指定する。

a floating-point value

0.0から1.0の範囲の浮動小数点数はフレームの幅比率(width ratio)を通じてフレームの幅の指定に使用できる。これはアウター幅(フレームのジオメトリーを参照)にたいする、フレームのワークエリア(複数の端末を参照)または親フレームのネイティブフレーム(子フレームを参照)からアウターフレームの幅を減じた値との比率。したがって値0.5はワークエリア(か親フレーム)の半分の幅、値1は全幅をフレームに占有させる。同様に高さ比率(height ratio)はアウターフ高さにたいする、フレームのワークエリア(か親のネイティブフレーム)からフレームの高さとの比率。

Emacsは子フレームのパラメーターkeep-ratio (フレームとの相互作用のためのパラメーターを参照)が非nilなら、親フレームがリサイズされた場合に子フレームの幅と高さの比率を未変更のままにしようと試みる。

通常はフレームが可視になるまでフレームのアウターサイズ(フレームのジオメトリーを参照)は利用できないので、装飾つきのフレーム作成時には浮動小数点値の一般的には使用はできない。浮動小数点値は、たとえばdisplay-buffer-in-child-frameを通じてdisplay-buffer-alist (バッファーを表示するウィンドウの選択を参照)をカスタマイズする際に親フレームの領域内へ常に子フレームを確実にフィットさせたい場合により適している。

パラメーターの指定方法にかかわらず、このパラメーターの値を報告するframe-parametersのような関数は、常にフレームのデフォルトの文字幅の倍数にするために必要に応じて丸めを行いフレームのテキストエリアの幅を整数でリターンする。この値はデスクトップ保存ルーチンでも使用される。

height

このパラメーターはフレームの高さを指定する。これは水平ではなく垂直であるという点を除きwidthのように機能する。

user-size

これはサイズパラメーターheightwidthにたいして、user-position (user-positionを参照)がtopleftが行うのと同じことを行う。

min-width

このパラメーターはフレームの最小ネイティブ幅(フレームのジオメトリーを参照)を文字単位で指定する。フレームの初期幅やフレームを水平方向にリサイズする関数は、通常はフレームのすべてのウィンドウ、垂直スクロールバー、フリンジ、マージン、垂直ディバイダーが表示できるよう保証する。このパラメーターが非nilなら、収まりきらないコンポーネントが結果としてウィンドウマネージャーにクリップされてしまうようなフレームより小さいフレームを作成できる。

min-height

このパラメーターはフレームの最小ネイティブ高さ(フレームのジオメトリーを参照)を文字単位で指定する。フレームの初期幅やフレームを水平方向にリサイズする関数は、通常はフレームのすべてのウィンドウ、水平スクロールバー、水平ディバイダー、モードライン、ヘッダーライン、エコーエリアー、インターナルメニューバー、インターナルツールバーが表示できるよう保証する。このパラメーターが非nilなら、収まりきらないコンポーネントが結果としてウィンドウマネージャーにクリップされてしまうようなフレームより小さいフレームを作成できる。

fullscreen

このパラメータはフレームの幅、高さ、またはその両方を最大化するかどうかを指定する。値はfullwidthfullheightfullboth、またはmaximizedのいずれか。21フレームがfullwidthなら幅、fullheightなら高さ、fullbothまら幅と高さが可能なかぎり大きくなる。maximizedは“fullboth”と同様だが、通常はタイトルバーとフレームのリサイズやクローズ用のボタンが維持される点が異なる。同様に最大化されたフレームでは、デスクトップ上に表示されているタスクバーやパネルが見えなくなること通常はない。一方で“fullboth(全画面)”のフレームは、通常はタイトルバーは省略されて、利用可能なスクリーンスペース全体を占有する。

この点ではfullheightやfullwidthのフレームは最大化されたフレームと類似している。しかしこれらは通常は最大化フレームでは存在しないエクスターナルボーダーを表示する。したがって最大化されたフレームの高さと幅は、fullheightのフレームの高さやfullwidthのフレームの幅とあ数ピクセル異なることがある。

いくつかのウィンドウマネージャーではフレームを真に最大化やフルスクリーンで表示させるために、変数frame-resize-pixelwise (フレームのサイズを参照)をカスタマイズする必要があるかもしれない。さらにフルスクリーンや最大化の種々の状態間でスムーズな遷移をサポートしないウィンドウマネージャーもいくつかある。これの回避には変数x-frame-normalize-before-maximizeのカスタマイズが助けになるかもしれない。

macOSのフルスクリーンではツールバーとメニューバーの両方が非表示になるが、マウスポインターがスクリーン上端に移動すればどちらも表示される。

fullscreen-restore

このパラメータはtoggle-frame-fullscreenコマンド (Frame Commands in The GNU Emacs Manualを参照)呼び出し後の“fullboth”状態での、望ましい全画面状態を指定する。このパラメーターはFrame Commands in The GNU Emacs Manualを参照の切り替え時に、このコマンドによって自動的にインストールされる。しかしEmacsが“fullboth”の状態で開始された場合には、以下の例のように初期ファイル内で望ましい挙動を指定する必要がある

(setq default-frame-alist
    '((fullscreen . fullboth)
      (fullscreen-restore . fullheight)))

これはF11の初回タイプ後に、フレームに新たにfullheightを与えるだろう。

fit-frame-to-buffer-margins

このパラメーターはfit-frame-to-buffer (ウィンドウのリサイズを参照)でフレームをルートウィンドウのバッファーにフィットさせる際に、オプションfit-frame-to-buffer-marginsの値のオーバーライドを可能にする。

fit-frame-to-buffer-sizes

このパラメーターはfit-frame-to-buffer (ウィンドウのリサイズを参照)でフレームをルートウィンドウのバッファーにフィットさせる際に、オプションfit-frame-to-buffer-sizesの値のオーバーライドを可能にする。


Footnotes

(21)

PGTKのフレームではfullheightfullwidthの値をセットしても効果はない。