Slack、最近では色々なところで使われますね。会社用、家庭用、友人との連絡用、研究室のOBOGの連絡用…などとあれこれチームに入っているとチームの切り替えが面倒になってきます。各チームでよく使うチャンネルをひとまとめで見たい、といった要望が出てきます(あと、Slack.appが定期的に日本語入力ぶっこわれるとか)。そういったことをうまくやるために、最近はWeeChat経由でslackを使っています。SlackはIRC経由で使うことができて、WeeChatはIRCクライアントなので、slackを使うことができます。
会社では数人使っている人がいますが、世の中的にはあまり使われていないような気もするので、メリット/デメリットをまとめてみました。
メリット
- 軽い
- (複数のチームを横断して)よく使うチャンネルを持ってくることができる
- 以下のチャンネルを上にまとめて持ってきています
- 会社: チームのメインチャンネル、チームの雑談チャンネル、自分の分報、仲いい人の分報、機械学習チャンネル
- 自宅: #general、nasneの残量通知チャンネル
- 友人連絡用: #general、ポエムチャンネル
- twitter: プライベートリスト
- 以下のチャンネルを上にまとめて持ってきています
- CLIで動くので、ターミナルから動かなくてよい
- itermの中でEmacsとweechatを並べるといったことができる
- itermはホットキーで一瞬で呼び出せる
- 通知も自分の好きなようにできる
- ハイライトの正規表現をいい感じに書いたりできる
- atig.rbとかを使うとtwitterも一緒に見れる
- レイアウトを自由に変えることができる
- 4分割にして、会社のチームのチャンネルだけ大きめに表示するなど
- キーバインドの自由度がかなり高い
デメリット
- 画像展開などは特にされない
- mackerelの通知のグラフなどは見たい…
- github連携とかもまあまあ困る
- 絵文字は脳内で展開する必要がある
- 他人のslackのstatusは分からない
- もちろん、slack callはweechat内では使えない
- ブラウザで開けば使えるので、そこまで困っていない
デメリットもあるけど、致命的ではないしメリットのほうが上回ってるかなと思うので、weechat使ってます。便利です。
自分がやっている設定
特に目新しいこともないけど、参考までに自分がどういうことやっているかメモしておきます。
いくつかのチャンネルを特別扱いして上に持ってくる(便利)。
/script install chanpriority.py /chanpriority hatena.#mackerel, hatena.#times_syou6162, twitter.#private, ...
チャンネル横断でハイライトされてるものを一覧できる(便利!)。
/script install highmon.pl
見た目や配置の設定。
/set buffers.look.indenting on /set irc.look.server_buffer independent /set irc.look.new_channel_position near_server /set irc.look.new_pv_position near_server
必要ない通知を切る。
/filter add irc_smart * irc_smart_filter *
C-g
で移動したいチャンネルに移動しやすくなる。チャンネルの数が100個とか越えててもさっと移動できる。
/script install go.py /key bind ctrl-G /go
水平分割。繰り返して4分割くらいにしていることが多い。
/window splith
分割すると入力バーがいくつもできるので、入力バーを一つにまとめる。
/bar add rootinput root bottom 1 0 [buffer_name]+[input_prompt]+(away),[input_search],[input_paste],input_text /bar del input
レイアウトの保存を自動でやる。
/set weechat.look.save_layout_on_exit all
通知関連。weechat-growlなどもあるが、pythonのライブラリの関係で苦労したので、簡単なやつを使う。使えれば何でもいいと思う。
wget https://raw.githubusercontent.com/keith/terminal-notifier-weechat/master/terminal_notifier.py ~/.weechat/python cd ~/.weechat/python/autoload ln -s ../terminal_notifier.py
キーワードや正規表現を書いていく。
/set weechat.look.highlight "syou6162,yasuhisa,syou"
マウスの設定。
/mouse enable
サーバーへのログインの設定。
/server add my-team my-team.irc.slack.com/6667 -autoconnect -ssl -ssl_verify=off -password=my-team.XXXXXXXXXXXXX -nicks=syou6162 /connect my-team
サーバーの順番並び替えたいときに。
/server list /server reorder
バッファの履歴を辿る。
/key bind meta-p /window page_up /key bind meta-n /window page_down