X-Chat Style mIRC

Free 2005. 12. 29. 01:39
얼마 전 irc client를 X-Chat 2 for Windows로 변경한 뒤, 전부터 쓰고 싶었던 X-Chat을 손쉽게 쓸 수 있다는데 즐거웠다. 전부터 mIRC 대신 X-Chat을 쓰려고 했던 이유가 몇가지 있었는데, 그 중 하나는 대화명마다 글자색이 다르게 보여지는것이다. 같은 색만 보면(채널 참여 인원이 많지 않다면), 누가 하는 말인지 대번에 알 수 있다. 또 하나 더 맘에 딱~ 드는게 있다면 대화명이 출력되는 부분과 실제적인 메세지들이 딱 구분되어져 있다는 점이다. mIRC는 들쑥날쑥 정신없는데, X-Chat의 경우 적당한 공간 뒤에 대화명이 우측정렬되어 보여지니, 깔끔하니 보기 좋다.

실제로 X-Chat을 써보니 그 외의 마음에 드는 기능들이 참 많았다. 색(Ctrl+K)의 팔렛트를 마음대로 바꿀 수 있다는 점, NickList에 Popup메뉴 이외에도 버튼들이 있다는 점, Tab키로 사용하는 Nick Complete의 경우 접미사를 임의대로 붙일 수 있다는 점 등이 있다.

하지만 X-Chat에게도 단점이 있다. 그 중 가장 불편한점은, 한글 파일명으로 된 파일을 억세스(읽고 쓰는)할 수 없다는 점이다. 게다가 mIRC의 최대 장점인 막강한 스크립트/클라이언트 명령어가 없어 서버 명령어로만 사용하려니 너무 갑갑하다는 느낌이 든다.

해서 만든(역시 나는 삽질의 천재. 우훼훼훼)것이 이것.

* NickList와 채팅 메세지창의 대화명 부분의 유저별 색상 삽입
꼼수다. Alt+B(Address Book)에 color탭을 선택하고, 총 10개(이상)의 항목을 추가한다. 각각의 설정은 Nick Address 부분에 *!*@*1 하는 식으로 0~9까지 모두 넣어주면 된다. X-Chat의 경우 대화명을 가지고 유저를 구분짓지만, 이런 방법은 대화명을 변경하면 다른 유저로 이식되기에 문제된다.


관련 스크립트 소스
#AutoAlign ON
ON ^*:TEXT:*:#:{
 var %AutoAlign.MaxLength = 16
 var %AutoAlign.Nickname = $nick
 var %AutoAlign.NickLength = $calc($len(%AutoAlign.Nickname))
 if (%AuotAlign.NickLength > $calc(%AutoAlign.MaxLength - 2)) {
   var %AutoAlign.Nickname = $left($nick,$calc(%AutoAlign.MaxLength - 2))
   var %AutoAlign.NickLength = $calc($len(%AutoAlign.Nickname))
 }
 var %AutoAlign.BlankLength = $calc(%AutoAlign.MaxLength - %AutoAlign.NickLength)
 var %AutoAlign.Blank = $str(^O $+ $chr(32) ,%AutoAlign.BlankLength)
 echo $chan $timestamp %AutoAlign.Blank $+ ^K $+ $bidigit($cnick($nick).color) $+ %AutoAlign.Nickname $+ ^O $chr(124) ^K $+ $bidigit($cnick($nick).color) $+ $strip($1-,c)
 haltdef
}
#AutoAlign END

* 전제조건 : 해당(혹은 모든)체널은 가변폰트(굴림, 돋움 등)의 경우 제대로 맞지 않고, 비가변폰트(굴림체, 돋움체 등)로 변경하여야 정상적으로 보인다. ^O는 Ctrl+O 문자, ^K는 Ctrl+K 문자로 대체.
* 단점 : haltdef를 때리기에, 다른 프로그램이 active중일 때 올라오는 메세지들은 mIRC switchbar에 있는 채널들의 색을 바꿔주거나 하지 않는다. 혹은 오히려 지저분해 보이거나 거슬려 보일 수도 있다. 각종 이벤트와 자신이 하는 말은 적용되지 않는다.
,