weechat の設定


Related Index

はじめに

IRC クライアントとして weechat を使っています. 高機能ですが、なかなかにカスタマイズのしがいのあるクライアント. 自分で何をしたのか忘れがちなので、やった事は都度メモしておくことに.

以下, v1.9.1 について書いてます.

初回起動: サーバの追加等

特に何も設定せずに起動すると、以下の様な塩梅.

proxy の設定

今の所

  • VPS に znc を入れて IRC バウンサとして動作
  • VPS 自体には autossh で dynamic port forwad で接続

という状況なので, 先ずは socks5 proxy の設定から

  /proxy add <name> <type> <address> <port> [<username> <password>]

サーバの追加

上記で proxy が定義されているので, 通常通りサーバを追加した後で proxy を設定しておく.

   /server add <name> <server>/<port>
   /set irc.server.<name>.proxy <proxy_name>
   /set irc.server.<name>.password <znc channel password>
  • <proxyname> は Proxyの設定 で追加した proxy の名前
  • <znc channel password> は znc のチャンネル区別に使うパスワード

といった感じ.

他に設定しておくことがあれば

   /server listfull

の結果を眺めてアレコレしておく.

カスタマイズ: 見た目編

サーバ毎に別 buffer

  /set irc.look.server_buffer independent

サーバ毎のチャンネルをインデント

  /set buffers.look.indenting on

新しいチャンネルはサーバ buffer の一番最後に追加

  /set irc.look.new_channel_position near_server

バッファリストは右側に

  /set weechat.bar.buflist.position = right

新しい private message もサーバ buffer の一番最後に追加

  /set irc.look.new_pv_position near_server

Windowを分割すると入力も散らばる→一つにまとめて最下部に。

  /bar add rootinput root bottom 1 0 [buffer_name]+[input_prompt]+(away),[input_search],[input_paste],input_text
  /bar del input

時刻表示のフォーマット

  /set weechat.look.buffer_time_format "${15}%H${6}:${15}%M${6}:${15}%S"

prefix は左よせ

  /set weechat.look.prefix_align left

prefix の最大値を 10 に制限…もう少し増やした方が良いかな…

  /set weechat.look.prefix_align_max 10

nicklist を 15 に固定

  /set weechat.bar.nicklist.size_max 15
  /set weechat.bar.nicklist.size 15

buflist を 15 に固定

  /set weechat.bar.buflist.size 15
  /set weechat.bar.buflist.size_max 15

prompt

  /set weechat.bar.rootinput.items "[input_prompt]+(away),[input_search],[input_paste],input_text"

status line

  /set weechat.bar.status.items "[buffer_last_number],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,[lag],[hotlist],completion,scroll"

レイアウトを自動的に保存

  /set weechat.look.save_layout_on_exit all

マウスは使わない

  /mouse disable

ハイライトするキーワードの追加

  /set weechat.look.highlight "$nick,uwabami,ささき,佐々木"

カスタマイズ: plugin

log の無効化

log 取りは znc に任せているので、weechat でログを取る必要はない。 というわけで、log plugin を無効化しておく(他にも色々切ってるけれど). 読み込んでいるのは以下.

   /set weechat.plugin.autoload "lua,ruby,python,perl,irc,script,alias,charset,buflist"

script でインストールしたアレコレ

以前は weeget を使っていたが、/script でイロイロ拡張がインストールできる. 今使っているのは以下

   /script install go.py
   /script install colorize_nicks.py
   /script install colorize_line.pl
   /script install buffer_autoset.py
   /script install emoji_aliases.py

あとは https://github.com/tkengo/weechat-url-hinteropenxdg-open に書き換えた版を ~/.weechat/ruby/ 以下に置いて使っている.

カスタマイズ: 色

これが地味に凝りだすと大変だったりする。 使える色は weechat --colors で確認できる。

ハイライトの色: 黒背景に黄色の文字

   /set weechat.color.chat_highlight 11
   /set weechat.color.chat_highlight_bg 8

nick colors: 黒背景で、256色使う際に視認性が良さげな色を並べただけ。

   /set weechat.color_chat_nicks "32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,110,111,112,113,114,115,116,117,118,119,120,121,122,123,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229"

title bar: 黒背景に黄色文字

   /set weechat.bar.title.color_fg 11
   /set weechat.bar.title.color_fg 8

status color: 黒背景に黄色文字

  /set weechat.bar.status_color_bg 8

go plugin の色:

  /set var.python.go.auto_jump = "off"
  /set var.python.go.buffer_number = "on"
  /set var.python.go.color_name = "white,default"
  /set var.python.go.color_name_highlight = "lightred,default"
  /set var.python.go.color_name_highlight_selected = "lightred,default"
  /set var.python.go.color_name_selected = "white,default"
  /set var.python.go.color_number = "lightgreen,default"
  /set var.python.go.color_number_selected = "yellow,default"
  /set var.python.go.fuzzy_search = "off"
  /set var.python.go.message = "Go: "
  /set var.python.go.short_name = "off"
  /set var.python.go.sort = "number,beginning"
  /set var.python.go.use_core_instead_weechat = "off"

buflist: 現在行の色

  /set buflist.format.buffer_current "${color:,8}${format_buffer}"

カスタマイズ: キーバインド

Ctrl-S: nicklist の toggle

  /key bind ctrl-S /bar toggle nicklist

Ctrl-B: buflist の toggle

  /key bind ctrl-B /bar toggle buflist

Ctrl-G: /go

  /key bind ctrl-G /go

alias: /b

  /set alias.cmd.b = "/buffer"

alias: /bl

  /set alias.cmd.bl = "msg *backlog $channel $1"

alias: /znc

  /set alias.cmd.znc = "/quote znc"

参考文献