読者です 読者をやめる 読者になる 読者になる

screenを縦分割するモード(vertical split)のパッチを当てる

screenは無いと死ねるくらい便利なのですが,画面を分割する(split)モードは水平(horizontal)しかありません.MacBookは縦の解像度がなきに等しいのでvim同様screenもvertical splitできるととっても嬉しい訳です.
調べてみると,splitのパッチを作成している方を見つける.という訳で自分の環境(MacBook Leopard)にも導入してみることにしました.

screenの入手

現在GNU screenの最新版は4.0.3です.screen install memoから取得してください.
# GNUミラーサイトにはなぜか4.0.3が置いてないのです.

vertical split のパッチの入手

Vertical Split for GNU Screenから取得してください.

パッチを当てる

まずscreen, パッチを解凍しパッチをscreenのディレクトリに移します.そしてpatchコマンドによりパッチを当てます.

% tar xzvf screen-4.0.3.tar.gz
% bunzip wrp_vertical_split_0.3_4.0.2.diff
% cp wrp_vertical_split_0.3_4.0.2.diff screen-4.0.3/
% patch < wrp_vertical_split_0.3_4.0.2.diff

この後はいつも通りにconfigure, makeと進むのですが,Macだとコンパイルエラーが発生するのでそのパッチも当てます.installing screen exits with error on Leopardからpatch-pty.cを取得してscreenのディレクトリに置き同様にパッチを当ててください.

% cp patch-pty.c screen-4.0.3
% patch < patch-pty.c

configure, make, make install

インストール場所はユーザの下にしておいた方が良いです.使っていてバグがあれば困りますからね;)

% configure --prefix=/Users/usr/bin
% make
% make install

screenを起動,vertical splitモード

screenを起動したら,コマンド文字 + Vでscreenが縦に分割されます.これでさらにscreen lifeが快適になりましたね!
f:id:yoppiblog:20080414022806p:image

問題点

  • ターミナルのサイズを変更するとvertial splitが解除されてしまう.どうすればいいのかまだわかってません.ソースを見てると再描画するときにごにょごにょすればいいのかな...
  • screenを終了すると/var/run/utmpがないと言われる.別段問題はないと思うけど,気持ち悪いからなんとかしたい.utmp.hではなくutmpx.hを読み込むようにすればいいのかな...