GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Size-Parameters.html ・ emacs-doc.conao3.com

30.4.3.3 サイズパラメータ

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

width

このパラメータは、フレームの幅を指定します。 以下のような方法で指定できます。

整数

正の整数で、フレームのテキスト領域の幅(フレームのジオメトリを参照)を文字数で指定します。

consセル

これが CAR にシンボル text-pixels を持つ cons セルである場合、そのセルの CDR はフレームのテキスト領域の幅をピクセル単位で指定します。

浮動小数点数

0.0から1.0までの浮動小数点数を用いて、フレームの幅比――すなわち、フレームの外幅(フレームの幾何学を参照)と、フレームの作業領域(複数ターミナルを参照)または親フレーム(子フレームを参照)のネイティブフレームの幅との比――を指定できます。したがって、値が0.5の場合、フレームは作業領域または親フレームの幅の半分を占め、値が1.0の場合は全幅を占めます。同様に、フレームの高さ比とは、フレームの外高と、作業領域または親フレームのネイティブフレームの高さとの比のことです。

Emacsは、子フレームにnil keep-ratio以外のパラメータが設定されており(フレーム相互作用パラメータを参照)、かつその親フレームがリサイズされた場合、子フレームの幅と高さの比率を維持しようとします。

フレームが表示されるまでは通常その外形サイズが不明であるため、装飾付きフレームを作成する際に浮動小数点値を使用することは一般的に推奨されません。浮動小数点値は、例えば display-buffer-in-child-frame を介して display-buffer-alist(バッファ表示用のウィンドウの選択 を参照)をカスタマイズする場合など、子フレームが常に親フレームの領域内に収まるようにするためにより適しています。

このパラメータがどのように指定されたかにかかわらず、frame-parameters のようにこのパラメータの値を報告する関数は、常にフレームのテキスト領域の幅を文字単位で報告し、必要に応じてフレームのデフォルト文字幅の倍数に丸めた整数値として返します。この値は、デスクトップ保存ルーチンでも使用されます。

height

このパラメータはフレームの高さを指定します。水平方向ではなく垂直方向である点を除けば、widthと同様に動作します。

user-size

これは、サイズパラメータ height および width に対して、パラメータ user-position(ユーザー位置 を参照)が位置パラメータ top および left に対して果たす役割と同様の働きをします。このパラメータは、テキスト端末では意味を持ちません。

min-width

このパラメータは、フレームの最小ネイティブ幅(フレームジオメトリを参照)を文字単位で指定します。通常、フレームの初期幅を設定したり、フレームを水平方向にリサイズしたりする関数は、フレームのすべてのウィンドウ、垂直スクロールバー、フリンジ、マージン、および垂直区切り線が表示可能であることを保証します。このパラメータがnil以外の場合、フレームをそれより狭く設定することが可能になりますが、その結果、収まりきらないコンポーネントはウィンドウマネージャによってクリップされます。

min-height

このパラメータは、フレームの最小ネイティブ高さ(フレームジオメトリを参照)を文字単位で指定します。通常、フレームの初期サイズを設定したりサイズを変更したりする関数は、フレームのすべてのウィンドウ、水平スクロールバーと区切り線、モード行とヘッダー行、エコー領域、および内部メニューとツールバーが表示可能であることを保証します。このパラメータがnil以外の場合、フレームをそれより小さく設定することが可能になりますが、その結果、収まりきらないコンポーネントはウィンドウマネージャによってクリップされます。

fullscreen

このパラメータは、フレームの幅、高さ、またはその両方を最大化するかどうかを指定します。テキスト端末では意味を持ちません。値には fullwidth、fullheight、fullboth、または maximized を指定できます。24 fullwidth フレームは可能な限り幅が広く、fullheight フレームは可能な限り高さが高く、fullboth フレームは幅と高さの両方が可能な限り広く高くなります。maximized フレームは「fullboth」フレームと同様ですが、通常はタイトルバーや、フレームのサイズ変更および閉じるためのボタンが保持されます。また、最大化されたフレームは通常、デスクトップ上に表示されているタスクバーやパネルを非表示にしません。一方、「fullboth」フレームは通常、タイトルバーを省略し、利用可能な画面領域全体を占有します。

この点において、フルハイトおよびフルワイドフレームは、最大化フレームにより近い性質を持っています。ただし、これらは通常、外部ボーダーを表示しますが、最大化フレームでは表示されない場合があります。そのため、最大化フレームとフルハイトフレームの高さ、および最大化フレームとフルワイドフレームの幅は、しばしば数ピクセルの差が生じます。

ウィンドウマネージャによっては、フレームを真に最大化またはフルスクリーン表示させるために、変数 frame-resize-pixelwise(フレームサイズを参照)をカスタマイズする必要がある場合があります。さらに、一部のウィンドウマネージャでは、さまざまなフルスクリーン状態や最大化状態間のスムーズな遷移をサポートしていない場合があります。変数 x-frame-normalize-before-maximize をカスタマイズすることで、この問題を解消できます。

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

fullscreen-restore

このパラメータは、toggle-frame-fullscreen コマンド(The GNU Emacs Manual の Frame Commands を参照)を「fullboth」状態で実行した後の、フレームの希望するフルスクリーン状態を指定します。通常、このパラメータは、状態を fullboth に切り替える際に、当該コマンドによって自動的に設定されます。ただし、Emacs を「fullboth」状態で起動する場合は、例えば次のように初期ファイルで希望する動作を指定する必要があります。

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

これにより、F11 を初めて入力した後に、新しいフレームが全高になります。このパラメータはテキスト端末では意味を持ちません。

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 の値を上書きできるようになります(ウィンドウのサイズ変更を参照)。


脚注

(24)

PGTKフレームでは、値 fullheight と fullwidth を設定しても効果はありません。