Xchat Umlaute

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der TIPPs & Tricks Sammlung.
Terminals / Shells X Portage System Dateisysteme Kernel Netzwerk Sonstiges alphabetischer Tipp Index



Wer nicht auf UTF-8/Unicode wechseln möchte und in IRC-Channels das Problem hat, die Umlaute von UTF-8 Benutzern nicht lesen zu können, der kann sich folgendes Script hier herunterladen. Das sollte in ~/.xchat2 gespeichert werden, damit Xchat das Script automatisch lädt. Der Dateiname sollte auf .py enden. Natuerlich muss es vorher noch ausfuehrbar gemacht werden. Hier das Script:

__module_name__ = "utf8-iso8859-15"
__module_version__ = "1.01"
__module_description__ = "Decodes UTF8 sent by other people into iso-8859-15"
__module_author__ = "Gustavo Niemeyer <niemeyer@conectiva.com>"

# 20040507 Speuler (iso8859@hobbyist.de)  trivial modifications:
#                     converting to ISO8859-15,
#                     parametrized install message



import xchat

def decode(word, word_eol, userdata):
   event, pos = userdata
   if type(pos) is int:
       pos = (pos,)
   changed = False
   for i in pos:
       try:
           reencoded = word[i].decode('utf8').encode('iso-8859-15')
       except (UnicodeError, IndexError):
           continue
       if reencoded != word[i]:
           word[i] = reencoded
           changed = True
   if changed:
       xchat.emit_print(event, *word)
       return xchat.EAT_XCHAT
   else:
       return xchat.EAT_NONE

EVENTS = [
 ("Channel Action", 1),
 ("Channel Action Hilight", 1),
 ("Channel Message", 1),
 ("Channel Msg Hilight", 1),
 ("Channel Notice", 2),
 ("Generic Message", (0, 1)),
 ("Kick", 3),
 ("Killed", 1),
 ("Motd", 0),
 ("Notice", 1),
 ("Part with Reason", 3),
 ("Private Message", 1),
 ("Private Message to Dialog", 1),
 ("Quit", 1),
 ("Receive Wallops", 1),
 ("Server Notice", 0),
 ("Server Text", 0),
 ("Topic", 1),
 ("Topic Change", 1),
]

for event in EVENTS:
   xchat.hook_print(event[0], decode, event)

print "%s %s loaded" % (__module_name__, __module_version__)

# vim:ts=4:sw=4:et



//edit: Link fuer das Script aktualisiert, da der alte tot war. Hinweise ueber das chmod +x des Scripts hinzugefuegt.

//edit2: Hinweis, dass Dateiname mit .py enden sollte.

'Persönliche Werkzeuge