Title: Port of the week: catgirl irc client
       Author: Solène
       Date: 22 February 2021
       Tags: openbsd70 openbsd irc catgirl portoftheweek
       Description: 
       
       # Introduction
       
       In this Port of the Week I will introduce you to the IRC client
       catgirl.  While there are already many IRC clients available (and good
       ones), there was a niche that wasn't filled yet, between minimalism
       (ii, irCII) and full featured clients (irssi, weechat) in the terminal
       world.  Here comes catgirl, a simple IRC client coming with enough
       features to be comfortable to use for heavy IRC users.
       
       Catgirl has the following features: tab completion, split scrolling,
       URL detection, nick coloring, ignores filter.  On the other hand, it
       doesn't support non-TLS networks, CCTP, multi networks or dynamic
       configuration.  If you want to use catgirl with multiples networks, you
       have to run it once per network.
       
       Catgirl will be available as a package in OpenBSD starting with version
       6.9.
       
       OpenBSD security bonus: catgirl features a very good use of unveil to
       reduce file system access to the minimum required
       (configuration+logs+certs), reducing the severity of an exploit.  It
       also has a restricted mode when using the -R parameter that reduce
       features like notifications or url handling and tight the pledge list
       (allowing systems calls).
       
 (HTM) Catgirl official website
       
 (IMG) Catgirl screenshot
       
       # Configuration
       
       A simple configuration file to connect to the irc.tilde.chat server
       would look like the following file that must be stored under
       ~/.config/catgirl/tilde
       
       ```Catgirl configuration file sample
       nick = solene_nickname
       real = Solene
       host = irc.tilde.chat
       join = #foobar-channel
       ```
       
       You can then run catgirl and use the configuration file but passing the
       config file name as parameter.
       
       ```shell command to start catgirl
       $ catgirl tilde
       ```
       
       # Usage and tips
       
       I recommend reading catgirl man page, everything is well explained
       there.  I will cover most basics needs here.
       
 (HTM) Catgirl man page
       
       Catgirl only display one window at a time, it is not possible to split
       the display, but if you scroll up you will see the last displayed lines
       and the text stream while keeping the upper part displaying the
       history, it is a neat way to browse the history without cutting
       yourself from what's going on in the channel.
       
       Channels can be browsed from keyboard using Ctrl+N or Ctrl+P like in
       Irssi or by typing /window NUMBER, with number being the buffer number.
       Alt+NUMBER could also be used to switch directly to buffer NUMBER.
       
       Searches in buffer could be used by typing a word in your input and
       using Ctrl+R to search backward or Ctrl+S for searching forward (given
       you are in the history of course).
       
       Finally, my most favorite feature which is missing in minimal clients
       is Alt+A, jumping to next buffers I have to read (also yes, catgirl
       keep a line with information about how many messages in channels since
       last time you didn't read them).  Even better, when you press alt+A
       while there is nothing to read, you jump back to the channel you
       manually selected last, this allow to quickly read what you missed and
       return to the channel you spend all your time on.
       
       # Conclusion
       
       I really love this IRC client, it replaced Irssi that I used for years
       really easily because most of the key bindings are the same, but I am
       also very happy to use a client that is a lot safer (on OpenBSD).  It
       can be used with tmux for persistence but also connect to multiple
       servers and make it manageable.