I want to open channels in servers specified in
irc:// links in XChat, but directly pointing to XChat binary (in Firefox) did not work - the window to choose servers appears as usual. I don't know how to associate
irc:// links with XChat in Chromium.
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
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.
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
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
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: