태그 보관물: irssi

irssi

irssi의 별명을 매번마다 표시하는 방법? screen을 사용하여 irssi로 닉리스트를

저는 tmux와 irssi의 열렬한 사용자입니다. 나는 반 성공으로 tmux에서 irssi와 함께 nicklist.pl을 사용하려고했습니다. 현재 여기 지침을 따르고 있습니다 : tmux에서 screen을 사용하여 irssi로 닉리스트를 실행합니까?

그러나 매번 작동하지는 않습니다. 설정 한 다음 irssi 구성을 저장하면 자동 실행 폴더에있는 스크립트가 tmux에서 irssi를 열 때마다 tmux 분할 창을 작성하지 않고 별명을 설정하지 않습니다. 매번 작동하도록하려면 어떻게해야합니까?



답변

연결 한 솔루션은 “자동으로”작동한다고 말하지 않습니다. tmux 창을 매번 수동으로 분할해야합니다. irssi 자체는 tmux 레이아웃을 제어 할 수있는 방법이 없습니다 (스크립트로 작성할 수는 있지만 끝 말 참조).

nicklistFIFO 를 자동으로 시작하려면 ( ” tmux 창 분할 및 FIFO 읽기를 포함 하지 않고 “닉리스트의 출력 시작 “을 의미 함 ) nicklist fifo시작 명령으로 추가하십시오 ( 예 : via).

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두 번째 창이 읽을 FIFO를 제 시간에 만들지 않으면 경쟁 조건이있을 수 있습니다 .이 경우 sleep 1이전에이나 다른 것을 추가해보십시오 cat.)

보너스로,이 스크립트는 사용 가능한 세션이 존재하는 경우 복제 세션을 시작하려고하지 않고 사용 가능한 세션에 정상적으로 연결됩니다.

모든 tmux 조치는 tmux 바이너리와 유사한 명령 행 인수로 사용 가능합니다.


창을 특정 터미널 크기로 설정했다고 가정 해 봅시다. 크기가 다른 터미널에서이 세션에 연결하면 tmux가 창 크기를 조정하므로 문제가 발생합니다.

  1. nicklist 줄 바꿈 및 스크롤을 올바르게 처리하려면 프레젠테이션 창의 너비를 알아야합니다.
  2. nicklist전체 화면 터미널, 25×80 및 기타 크기를 처리 하려면 창을 사용하기에 너무 작습니다.

이것이 자주하는 일 이라면 , tmux 창 크기를 일정하게 유지하는 irssi 플러그인에 대해서는 BitlBee 설치 및 설정 에서 “nicklist.pl에 대한 tmux 창 크기 자동 업데이트”섹션을 참조하십시오 .


답변