I don’t use IRC as much as I used to but I do use it more often than other, newer communication ‘standards’ like Slack, Matrix et al.

So when I heard about the first stable of release of Srain, a (somewhat) new IRC client built using GTK (GTK 3 specifically), my interest was piqued.

See, while IRC is far from being trendy these days (as a chat protocol it’s considered to be “of its time”) it’s still somewhat prevalent within open source communities.

Yet the most popular IRC clients for Linux desktops are established, well-known, and/or settled on working in the ways they work. New IRC clients are few and far between and that alone makes Srain all the more unique!

Srain IRC Client for Linux

At its heart Srain is an IRC client that lets you connect to multiple IRC servers, join multiple IRC channels, and chat using text.

But while it’s far from ground breaking Srain does do a number of new and novel things that other, older IRC clients for Linux do not — things which happen to personally bug me about IRC in general.

First up is URL previews. Srain parses URLs contained in IRC messages to detect what the linked content is and show a preview of it. This feature is enabled by default but it can be disabled with some configuration.

Srain formats channel logs more like an instant messenger would, making them easier to read

Next is the way the app shows and formats “messages”. Rather than separate them line-by-line like a traditional IRC client, Srain channel logs look more like instant messenger chats, i.e., nice to look and easy to read!

As mentioned at the start of this post there’s a tonne of ‘other’ communication protocols popular and in use (Telegram, Matrix, Slack, etc). Many projects use a variety of differing bridging and bots to connect and sync these disparate services (e.g., so messages posted in Telegram appear in the IRC, and vice versa).

Srain was built with this diverse crowd in mind. It tackles the often inconsistent formatting and styling of messages sent by relay bots, making messages posted more readable, parseable, and presentable within the rest of the chat scheme.

A powerful regex command tool enables bespoke filtering and rendering options

It also has a (rather powerful) regex based message render and filter mechanism. You can use this to, say, hide messages from a user you wish to ignore, but also to alter the way their messages appear on the screen.

Finally, there’s built-in support for theming. I used to love trying out Pidgin and Empathy themes back in the day. These allowed you to custom the appearance of chat bubbles and fonts and background colours with some basic .css knowledge.

Here’s hoping some creative types decide to kick the tyres on the Srain theme feature to create some beautiful chat themes.

These and other features in a parseable scan-friendly list:

  • RFC {1459,2812} compatible
  • Initial IRCv3 support
  • Easy connection set-up
  • Interactive channel search
  • URL preview feature
  • Desktop notifications
  • Special optimization for bridge/relay bots
  • Supports IRC commands and syntax
  • Regex based message render and filter mechanisms
  • Built-in theming support

Like the sound of all that? Read on to discover how to install the app on your Linux system.

Install Srain IRC Client

Srain is free open source software available for Linux, macOS, Windows and BSD. You’ll find more details, as well as links to source codes, on the Srain downloads page (links no longer active)

Running Ubuntu, Linux Mint or similar? You can install the Srain IRC client across a fleet of modern Linux distros using the Flatpak build available on Flathub.

View Srain IRC Client on Flathub

Arch users may prefer to install the app from the AUR. It’s also available in the Fedora and OpenSUSE Tumbleweed repos.

Personally, I’m hoping an (un)official PPA pops up with prebuilt packages for Ubuntu 18.04 LTS and above because hey: I’m terribly old school.

Let me know what you think of this app, and IRC in general, in the comments section below.

gtk irc