Next: Splitting Windows, Previous: Window Sizes, Up: Windows [Contents][Index]
このセクションでは、フレームのサイズを変更せずにウィンドウのサイズを変更する関数について説明します。生きたウィンドウはオーバーラップしないので、これらの関数は2つ以上のウィンドウを含む関数上でのみ意味があります(ウィンドウのリサイズにより隣接するウィンドウのサイズも変更される)。フレーム上に単一のウィンドウしか存在しない場合には、フレームの変更以外によりウィンドウのサイズ変更はできません(Size and Positionを参照)。
注記した場合を除き、これらの関数は引数として内部ウィンドウも受け付けます。内部ウィンドウのリサイズにより、同じスペースにフィットするよう、子ウィンドウもリサイズされます。
この関数は、windowのサイズがdelta行により垂直に変更され得る場合は、deltaをリターンする。オプション引数horizontalが非nil
の場合は、windowがdelta列単位に水平方向にリサイズ可能ならば、かわりにdeltaをリターンする。これは、実際にはウィンドウのサイズを変更しない。
windowがnil
の場合のデフォルトは選択されたウィンドウ。
deltaが正の値の場合は、そのウィンドウが行または列の単位で拡張可能かどうかをチェックすることを意味し、deltaが負の値の場合は、そのウィンドウが行または列の単位で縮小可能かどうかをチェックすることを意味する。deltaが非0の場合のリターン値0は、そのウィンドウがリサイズ可能であることを意味する。
通常、変数window-min-height
とwindow-min-width
は許容される最小のウィンドウサイズを指定する(Window Sizesを参照)。しかし、オプション引数ignoreが非nil
の場合、この関数はwindow-size-fixed
と同様にwindow-min-height
とwindow-min-width
を無視する。そのかわりに、ヘッダーライン、モードライン、(もしあれば)下端ディバイダーに加えて1行分の高さのテキストエリアから構成されるウィンドウを、最小高さのウィンドウとし、フリンジ、マージン、スクロールバー、(もしあれば)右ディバイダーに加えて1列分の幅のテキストエリアから構成されるウィンドウを、最小幅のウィンドウと判断する。
オプション引数pixelwiseが非nil
の場合、deltaはピクセル単位として解釈される。
この関数は、windowをdelta増加することによりリサイズする。horizontalがnil
の場合は高さをdelta行、それ以外は幅をdelta行変更する。正のdeltaはウィンドウの拡大、負のdeltaは縮小を意味する。
windowがnil
の場合のデフォルトは、選択されたウィンドウである。要求されたようにウィンドウをリサイズできない場合は、エラーをシグナルする。
オプション引数ignoreは、上述の関数window-resizable
の場合と同じ意味をもつ。
オプション引数pixelwiseが非nil
の場合、deltaはピクセル単位として解釈される。
この関数はどのウィンドウのエッジを変更するかの選択は、オプションwindow-combination-resize
の値と、関連するウィンドウのコンビネーションリミット(combination
limits: 組み合わせ制限)に依存し、両方のエッジを変更するような場合もいくつかある。Recombining Windowsを参照のこと。ウィンドウの下端または右端のエッジを移動することだけでリサイズするには、関数adjust-window-trailing-edge
を使用すること。
この関数は、windowの下端エッジをdelta行分移動する。オプション引数horizontalが非nil
の場合は、かわりに右端エッジをdelta列分移動する。windowがnil
の場合のデフォルトは、選択されたウィンドウである。
オプション引数pixelwiseが非nil
の場合、deltaはピクセル単位として解釈される。
正のdeltaはエッジを下方もしくは右方へ移動し、負のdeltaはエッジを上方もしくは左方へ移動する。deltaで指定された範囲までエッジを移動できない場合、この関数はエラーをシグナルすることなく、可能な限りエッジを移動する。
この関数は、移動されたエッジに隣接するウィンドウのリサイズを試みる。何らかの理由(隣接するウィンドウが固定サイズの場合等)により、それが不可能な場合は、他のウィンドウをリサイズするかもしれない。
このオプションの値が非nil
の場合、Emacsはウィンドウをピクセル単位でリサイズする。現在のところ、これはsplit-window
(Splitting Windowsを参照)、maximize-window
、minimize-window
、fit-window-to-buffer
、shrink-window-if-larger-than-buffer
(すべて以下に記述)、およびfit-frame-to-buffer
(Size and Positionを参照)のような関数に影響を与える。
あるフレームのピクセルサイズがそのフレームの文字サイズの整数倍でないときは、たとえこのオプションがnil
であっても、少なくとも1つのウィンドウがピクセル単位でリサイズされるであろうことに注意されたい。デフォルト値はnil
である。
以下のコマンドは、より具体的な方法でウィンドウをリサイズします。これらがインタラクティブに呼び出されたときは、選択されたウィンドウにたいして作用します。
このコマンドは、windowの高さまたは幅を、ウィンドウ内のテキストにフィットするように調整する。windowがリサイズできた場合は非nil
、それ以外はnil
をリターンする。windowが省略またはnil
の場合のデフォルトは選択されたウィンドウ、それ以外の場合は生きたウィンドウであること。
windowが垂直コンビネーションの一部の場合、この関数はwindowの高さを調整する。新たな高さは、そのウィンドウのバッファーのアクセス可能な範囲の実際の高さから計算される。オプション引数max-heightが非nil
の場合、それはこの関数がwindowに与えることができる、最大のトータル高さを指定する。オプション引数min-heightが非nil
の場合、それは与えることができる最小のトータル高さを指定し、それは変数window-min-height
をオーバーライドする。max-heightとmin-heightはどちらも、(もしあれば)モードライン、ヘッダーライン、下端ディバイダーを含む行数で指定する。
windowが水平コンビネーションの一部で、かつオプションfit-window-to-buffer-horizontally
(以下参照)の値が非nil
の場合、この関数はwindowの幅を調整する。新たな幅は、windowのカレントのスタート位置以降の、バッファーの最長の行から計算される。オプション引数max-widthは最大幅を指定し、デフォルトはwindowのフレーム幅である。オプション引数min-widthは最小幅を指定し、デフォルトはwindow-min-width
である。max-widthとmin-widthはどちらも、(もしあれば)フリンジ、マージン、スクロールバーを含む列数で指定する。
オプションfit-frame-to-buffer
(以下参照)が非nil
の場合、この関数はfit-frame-to-buffer
(see Size and Position)を呼び出すことにより、windowのコンテンツにフィットするように、windowのフレームのリサイズを試みるだろう。
これが非nil
の場合、fit-window-to-buffer
はウィンドウを水平方向にリサイズできる。これがnil
(デフォルト)の場合、fit-window-to-buffer
はウィンドウウィンドウ決して水平方向にリサイズしない。これがonly
の場合は、ウィンドウを水平方向だけにリサイズできる。その他の値では、fit-window-to-buffer
がウィンドウをどちらの方向にもリサイズできることを意味する。
このオプションが非nil
の場合、fit-window-to-buffer
はフレームをフレームのコンテンツにフィットさせることができる。フレームは、フレームのルートウィンドウが生きたウィンドウで、かつこのオプションが非nil
の場合のみ、フィットされる。これがhorizontally
の場合、フレームは水平方向にのみフィットされる。これがvertically
の場合、フレームは垂直方向にのみフィットされる。その他の非nil
値は、フレームがどちらの方向にもフィットできることを意味する。
このコマンドは、windowにたいしてそのバッファーを完全に表示できるが、window-min-height
以上の行を表示できるまで、可能な限りwindowの高さを縮小する。リターン値は、そのウィンドウがリサイズされれば非nil
、それ以外は非nil
。windowが省略またはnil
の場合のデフォルトは、選択されたウィンドウである。それ以外では、生きたウィンドウであること。
このコマンドは、そのウィンドウがバッファーのすべてを表示するにはすでに高さが低すぎる場合、バッファーのどこかがスクリーンからスクロールオフされている場合、またはそのウィンドウがフレーム内で唯一の生きたウィンドウの場合は何も行わない。
このコマンドは、自身の処理を行うために、fit-window-to-buffer
(上記参照)を呼び出す。
この関数は、各ウィンドウにたいして完全な幅、および/または完全な高さを与えるような方法により、各ウィンドウのバランスをとる。window-or-frameにフレームを指定した場合は、そのフレーム上のすべてのウィンドウのバランスをとる。window-or-frameにウィンドウを指定した場合は、そのウィンドウとウィンドウのsiblings(兄弟)にたいしてのみのバランスをとる(Windows and Framesを参照)。
この関数は、選択されたフレーム上のすべてのウィンドウにたいして、おおよそ同じスクリーンエリアを与えようと試みる。完全な幅、または高さをもつウィンドウにたいしては、他のウィンドウと比較して、より多くのスペースは与えられない。
この関数は、windowにたいして、そのフレームをリサイズしたり、他のウィンドウを削除することなく、水平垂直の両方向において、可能な限り大きくなるように試みる。windowが省略またはnil
の場合のデフォルトは、選択されたウィンドウである。
この関数は、windowにたいして、そのフレームをリサイズしたり、そのウィンドウを削除することなく、水平垂直の両方向において、可能な限り小さくなるように試みる。windowが省略またはnil
の場合のデフォルトは、選択されたウィンドウである。