Reducing redundancy in (m)IRC

The old but popular IRC client mIRC is richly featured but it has a style problem, so it gets teased, and really the user interface is the application.

before image

XChat's alignment of user text inspired me to add the same feature to mIRC.

Then I realized there was no need to repeat timestamps and nicknames when nothing had changed, and my script became something more, something wonderful.

after image

After this success I had to take it a step further.

When is it ever relevant to view join/parts in IRC?

  • When the user has recently spoken.
  • When they flood indicating the onset and end of a netsplit during which parties are cut off from each other.
  • When you're a participant and would appreciate a rough estimate of the visibility of your text, considering it could have been scrolled off-screen by join/parts visible to other users.
  • When a join/part flood is occurring and it's a bit too rocky for conversation.

Essentially when it's relevant to the conversation.

These are the circumstances in which succinct makes them visible. It begins in read mode with clutter minimized, only reporting departures of users whose text is most recently in your buffer. If you become active in the conversation the mode changes, and the dialogue is intelligently interspersed with brief updates of join/part line counts. Floods and netsplits are always reported, and tersely.

netsplit

line counts

Other features

  • Text is aligned, and the alignment point is easily moved.
  • Simple and customizable. The timestamp and nickname are checked independently for repetition, and look to your settings for how to format them in either of these cases. These screenshots are one very specific (and currently default) example.
  • Nicknames at the beginning of text are highlighted (formatted however you specify). There's room for improvement but it works pretty well.
  • UTF-8 Unicode support.

Download | Changelog

Installing the script is as simple as extracting the .mrc files from the zip somewhere, and loading the primary one into mIRC:

/load -rs C:\path\to\script\succinct.mrc

After which you will be greeted by lovely test output similar to this:

test output

If you've similar results, other than the color theme and the highlight line which merely allows highlighting and states your primary IRC nick, then everything should be running smoothly.

Formatting and a few settings can be adjusted from mIRC's Variables dialog, take a look at the top of succinct.mrc for details.