回答:
はい。ターミナルは、サイズと位置、階層化、最小化など、ウィンドウを操作するためのエスケープシーケンスをサポートしています。寸法は、ピクセルまたは文字で表現できます。詳細については、Xtermコントロールシーケンスを参照してください(「ウィンドウ操作」を検索してください。表記に慣れていない場合、「CSI」は「Control Sequence Introducer」の略ですESC [
)。
たとえば、次のシェルコマンドはウィンドウを100x50文字に設定します。
printf '\e[8;50;100t'
ウィンドウを数秒間最小化し、復元します。
printf '\e[2t' && sleep 3 && printf '\e[1t'
ウィンドウをディスプレイの左上隅に移動します。
printf '\e[3;0;0t'
ウィンドウをズームします。
printf '\e[9;1t'
ウィンドウを前面に移動します(キーボードフォーカスを変更せずに)。
printf '\e[5t'
一部のターミナルエミュレータは、これらの制御シーケンスをデフォルトで無視し、それらを有効にするための設定が必要です。
XTermでこれらを有効にするには、次のリソースをtrueに設定します。
allowWindowOps
iTerm2でこれらを有効にするには、次の設定を選択解除します。
設定>プロファイル> [プロファイル]>ターミナル>セッション開始ウィンドウのサイズ変更を無効にする
常にAppleScriptを使用できます。
setwidth() { osascript -e "tell app \"Terminal\" to tell window 1
set b to bounds
set item 3 of b to (item 1 of b) + $1
set bounds to b
end"; }
を使用し/usr/X11/bin/resize
ます。
resize -s 30 80
30行80列になります。
resize -s 30 0
30行と完全な列が表示されます。
resize -s 0 80
行全体と80列が表示されます。
実際、マウスを使用してサイズ変更ウィンドウを移動するのは恐ろしく遅いです。
私はこのアプリSizeUpを非常に長い間使用しています。基本的に、キーボードコマンドを使用して、アプリケーションウィンドウのサイズを変更します。
以下を行うことができます(以下のカスタムキーボードコマンド)。
これでうまくいくと思うし、他のウィンドウ管理にも役立つと思う。