My IRC Setup
Published:
I use IRC every day. I use it to speak to people at my local hackerspace and to fellow Debian or Tor Project developers. My set up is a little complex but every part serves a purpose.
The service that actually performs the connections to IRC servers is ZNC, an IRC bouncer. The main features this provides are aggressively remaining connected to ensure that I’m not missing anything and also to authenticate to NickServ automatically in the case of a disconnect. Other features from ZNC I use are the keepnick plugin (to keep trying for my primary nick) and the chansaver plugin to keep track of which channels I’m in.
Bitlbee is an instant messaging to IRC gateway that allows you to use other chat protocols from an IRC client. It has native support for Twitter and GNU Social, and so I have these accounts here.
In the past I have used irssi as a terminal based IRC client, but my preferred client is now weechat. I’ve made a number of customisations to the default Weechat configuation1.
The following will help out with a far more usable buffer and nick list:
/script install buffers.pl colorize_nicks.py
/set buffers.look.hide_merged_buffers all
/set weechat.bar.buffers.items buffers
/key bind meta-n /bar toggle nicklist
The following will make Weechat a lot easier to read with the Solarized theme:
/set weechat.bar.status.color_bg 0
/set weechat.bar.title.color_bg 0
/set weechat.color.chat_nick_colors 1,2,3,4,5,6
/set buffers.color.hotlist_message_fg 15
/set weechat.bar.buffers.position top
Then I look to cut out useless notifications. Starting by hiding join/part messages and not treating them as “activity” in a channel:
/set weechat.look.buffer_notify_default message
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
In bigger channels, I only show activity if I’ve been highlighted:
/set weechat.notify.irc.oftc.#debian-devel highlight
I also make a couple of changes to better support ZNC:
/alias add znc /quote znc
/script install zncnotice.py
and for Bitlbee, I want to highlight on my Twitter username:
/script install buffer_autoset.py
/set weechat.notify.irc.bitlbee.#twitter_iainlearmonth highlight
/buffer_autoset add irc.bitlbee.#twitter_iainlearmonth highlight_regex iainlearmonth
Finally, one of Weechats most attractive features is the relay protocol. This allows you to have remote frontends connect to your Weechat instance. I occasionally use Glowing Bear, a web interface, and have in the past been a heavy user of Weechat Android and hope to get it set up on my phone again soon.
-
Many of the customisations I have made to my Weechat configuration are taken from this blog post by Ben Oliver. I would recommend a read if you’re wanting to have a go at Weechat. ↩︎