screen の windowlist にだけ hostname 出せないかな

プログラミングは素晴らしい - GNU Screen のちょっと便利な使い方

screen を使ってそれぞれの window で ssh とか使って違うホストで作業をするようになってくると、どの window がどのホストなのか一瞬分からなくなってしまう。windowlist は window title の一覧が出るだけで使いモノになんねーよなぁと思ってたんだけど、こういう工夫をすればいいのか。

でも zsh + screen で最後に実行したコマンドを window title に をやって以降は普段 status に window title 出しまくってるので、この設定は邪魔でしょうがない。うーん。ということは windowlist のときにだけ必要な情報が出ればいいんじゃないかと思って調べると

windowlist title
windowlist string

なんつーので設定できるようだ。%H がホスト名。やってみるとしかし、screen を起動したホスト名しか拾えない。screen の中であっちこっちログインしている環境だと意味がないなぁ。

しょうがないのでコマンドを実行するたびに window title を自動設定するところで、

echo -n "^[k$cmd[1]@$HOST:t^[\\"

とやって、ホスト名だけでも window title に出すようにしてみた。ちょっと邪魔だけどこれくらいならまだ我慢できるか。

※ ホスト名さえ取得できればいいので、プロンプトに居る限りはプロンプトにホスト名を出せばいいんだけど、プロンプトに居ないとき、例えば emacs とか w3m に居るときはホスト名をすぐに取得できない。screen ではなくて terminal の window title にホスト名を出せればそれでもいいんだけど、OSX の Terminal の window title を出す方法が分からないんだなぁ。emacs だけなら mode-line に出すとか工夫の余地がいろいろあるんだけど、emacs 限定っつーのもちょっと面白くないし。

More