Previous: , Up: Frame Geometry   [Contents][Index]


29.3.5 フレームの暗黙的なリサイズ

たとえばメニューバーの追加や削除、デフォルトフォントの変更、フレームのスクロールバーの幅のセットの際、Emacsはデフォルトではフレームのテキストエリアの行数と列数を未変更に保つように試みます。しかしこれはそのような場合のサイズ変更を調停するために、Emacsがウィンドウマネージャーに依頼しなければならないことを意味します。メニューバーやツールバーのでは、通常はフレームのフレームサイズをリサイズしないので、表示される行数に変更はないことに注意してください。

たとえばフレームの最大化や全画面化の際のように、そのような暗黙なフレームのリサイズ(implied frame resizing)がおそらく望ましくないケースもあります(デフォルトではオフになっている)。それ以外のケースでは以下のオプションで暗黙のリサイズを無効にできます。

User Option: frame-inhibit-implied-resize

このオプションがnilならフレームが表示する列数と行数を確保するために特定フレームのフォント、メニューバー、ツールバー、インターナルボーダー、フリンジ、スクロールバーの変更によってフレームのディスプレーエリアを暗黙に変更できる。このオプションが非nilなら暗黙のリサイズは行われない。

このオプションの値はフレームパラメーターのリストでもよい。この場合にはリスト内に出現するパラメーター変更時の暗黙のリサイズは抑制される。このオプションで処理されるフレームパラメータ^は現在のところfontfont-backendinternal-border-widthmenu-bar-linestool-bar-lines

フレームパラメーターscroll-bar-widthscroll-bar-heightvertical-scroll-barshorizontal-scroll-barsleft-fringeright-fringeのいずれかにたいする変更は、あたかもそのフレームが単一の生きたウィンドウを含むかのように処理される。これはたとえば複数の横並びのウィンドウをフレームで垂直スクロールバーを削除すると、このオプションがnilならnilはスクロールバーの幅の分だけ縮小されて、tvertical-scroll-barsを含む場合には未変更に保たれることを意味する。

Lucid、Motif、MS-Windowsのデフォルト値は'(tool-bar-lines)であり、これはツールバーの追加や削除でアウターフレーム高さが変更されないことを意味する。GTK+を含むその他すべてのウィンドウシステムではnil (上記リストのパラメーターのいずれかを変更するとアウターフレームのサイズは変更されるかもしれない)、それ以外ではt (ウィンドウシステムのサポートがなければ暗黙にアウターフレームのサイズが変更されることはない)。

フレームが上述のいずれかのパラメーターにたいする変更の調停に不十分な際には、たとえこのオプションが非nilでもEmacsがフレームの拡大を試みるかもしれないことに注意。