Quando clicco su un collegamento ad un server irc su una pagina internet con Chrome Chromium mi appare la finestra che mi avvisa che si sta usando un applicazione esterna per aprire il collegamento, ma poi non succede nulla, come si fa a dire a chrome che il programma da usare è xchat.
Ho trovato questa http://goo.gl/f393WC che spiga come farlo con firefox ma per chrom* non trovo nulla.
Qualcuno può aiutarmi?
Mi rispondo da solo, ho trovato la soluzione la metto qui così può essere utile a qualcun altro.
Per xchat (se volete usare un altro client irc sostituite il nome corretto nelle varie righe)
- Aggiungere irc a xdg-open:
sudo gedit ~/.local/share/applications/mimeapps.list
Aggiungere la linea:
x-scheme-handler/irc=custom_xchat.desktop
- Creare un launcher per xchat lo chiameremo: custom_xchat.desktop in:
~/.local/share/applications/custom_xchat.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Xchat Connecting server launcher
Comment=Chat with other people using Internet Relay Chat
Exec=/usr/bin/custom_xchat %U
Icon=xchat
Terminal=false
Type=Application
Categories=Network;IRCClient;GTK;
StartupNotify=true
X-Desktop-File-Install-Version=0.19
Mime type=x-scheme-handler/irc
Creiamo uno script (lo chiameremo custom_xchat) che lancerà xchat (o il vostro client irc) può essere posizionato/nominato come volete. Se lo mettete in /usr/bin, assicuratevi che abbia i necessari privilegi di esecuzione (altrimenti posizionatelo nella vostra Home da qualche parte)
Quello che segue è uno script che lancia xchat e vi permette di entrare in un canale se il link ne contiene uno. (es. irc://irc.mioirc.net/miocanale)
/usr/bin/custom_xchat
[code]/usr/bin/custom_xchat
#!/usr/bin/python
import dbus
import re
import sys
from subprocess import call
def ircxchat(uri):
protocol = “prpl-irc”
match = re.match(r"^irc:(//(^/]))?/?(^?])(?(.*))?", uri)
if not match:
print “Invalid irc URI: %s” % uri
return
call(“xchat”, “–existing”, “–url=%s”%uri])
def main(argv=sys.argv):
if len(argv) != 2 or argv[1] == “–help” or argv[1] == “-h”:
print “Usage: %s URI” % argv[0]
print “Example: %s “xmpp:[email protected]?message”” % argv[0]
if len(argv) != 2:
sys.exit(1)
else:
return 0
uri = argv[1]
type = uri.split(":")[0]
try:
if type == "irc":
ircxchat(uri)
else:
print "Unknown protocol: %s" % type
except dbus.DBusException, e:
print "Error: %s" % (e.message)
sys.exit(1)
if name == “main”:
main()[/code]
Questo è tutto! Quando cliccherete su un link irc:// in Chrome, xdg-open eseguirà lo script e xchat si aprirà connettendovi al server ed al canale se c’è.
Grazie a AnthonyParkinson che ha trovato la soluzione e la postata sul forum di Archlinux (io ho solo fatto la traduzione e la prova di funzionamento su Fedora 20)