Open irc:// links in XChat from Firefox and Chromium

Solution 1:

One possible solution is to make a little script to open the irc chanel in an existing xchat, and pass that to Firefox.

For example - make a file in /usr/bin called xchat-firefox and put in it:

#!/bin/bash
xchat --existing --url=$@

Add executable permission to the script:

sudo chmod +x xchat-firefox

Now using the menu option Edit-Preferences-Applications Tab in Firefox select "xchat-firefox" for the "irc" content-type.

source 1 & source 2

Solution 2:

Fossfreedom's method works great, but it is a per-app solution. Granted, firefox/chromium is the most common use case, but it is easy to make a system-wide solution so it would automatically works for all apps automatically, with no need to configure each one.

The solution is to create an alternative .desktop file associating xchat with the irc:// uri scheme. This will automatically make the whole desktop (and any app) see XChat as an IRC handler.

Copy xchat launcher so we can edit it:

cp /usr/share/applications/xchat.desktop ./xchat-irc-handler.desktop

Edit its contents, adding MimeType and NoDisplay, and replacing Exec to match this:

Exec=xchat --existing --url=%u
MimeType=x-scheme-handler/irc;
NoDisplay=true

Now install the file. This can be done for your current user only or for all users (just prepend the command with sudo):

xdg-desktop-menu install --novendor ./xchat-irc-handler.desktop

And that's it! You can try results immediately, in Firefox, Chromium, or any application. Let's test it in terminal:

xdg-open 'irc://chat.freenode.org/#ubuntu'

Ta-da!