私はtmuxとirssiの熱心なユーザーです。私はtmuxのirssiでnicklist.plを使用しようとしてきましたが、半分しか成功していません。私は現在ここの指示に従っています: tmux内のscreenを使用してirssiでニックリストを実行していますか?
ただし、毎回機能するとは限りません。設定してからirssi構成を保存すると、スクリプト(autorunフォルダーにあります)はtmuxペインを作成せず、tmuxでirssiを開くたびにニックリストを設定します。毎回動作させるにはどうすればよいですか?
リンクするソリューションは、「自動的に」機能するとは決して言いません。毎回手動でtmuxウィンドウを分割する必要があります。 irssi自体には、tmuxレイアウトを制御する方法がありません(スクリプト化することはできますが、最後の注釈を参照してください)。
nicklist
FIFO(「ニックリストの出力を開始する」を意味します)を自動的に開始する場合—notinclude tmuxウィンドウを分割してFIFOを読み取る)、起動コマンドとしてnicklist fifo
を追加します。
echo "nicklist fifo" >> ~/.irssi/startup
Tmuxセッション内から、tmuxコマンドを実行する場合:
:split-window -h -l 20 'cat ~/.irssi/nicklistfifo'
右側に20文字幅の新しい分割ウィンドウを開き、その中のニックネームリストを読み始めます。
最後のステップを自動化するtmuxの簡単な起動スクリプトを作成できます(irssiを起動し、ウィンドウを分割してFIFOを読み取ります)。ここに小さな例があります:
#!/bin/sh
WNAME="irssi"
if ! tmux -L default attach-session -t ${WNAME}; then
tmux new-session -d -s ${WNAME} 'irssi'
tmux split-window -t ${WNAME} -h -l 20 'cat ~/.irssi/nicklistfifo'
"${0}"
fi
(おそらく、nicklist.pl
で競合状態が発生し、2番目のペインがそれを読み取るのに間に合うようにFIFOを作成しません。その場合は、sleep 1
などを追加してみてください。 cat
の前。)
ボーナスとして、このスクリプトは、重複するセッションを開始しようとするのではなく、利用可能なセッションが存在する場合、それを適切にアタッチします。
すべてのtmuxアクションは、tmuxバイナリと同様のコマンドライン引数として使用できます。
ペインを特定の端末サイズに設定するとします。サイズの異なる端末からこのセッションに接続すると、tmuxはペインのサイズを変更しますが、これは問題になるためです。
nicklist
は、改行とスクロールを正しく処理するために、プレゼンテーションウィンドウの幅を知る必要がありますnicklist
ペインが小さすぎて使用できないことがよくあります。これが頻繁に行われることである場合は、tmuxペインサイズを一定に保つirssiプラグインについて、 BitlBeeのインストールとセットアップ の「nicklist.plのtmuxペインサイズの自動更新」セクションを参照してください。