Mercurial > hg
diff mcabber/contrib/events/mcnotify.py @ 1147:fcef5d34b7d4
Add a few sample event scripts
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 10 Feb 2007 18:42:02 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mcabber/contrib/events/mcnotify.py Sat Feb 10 18:42:02 2007 +0100 @@ -0,0 +1,50 @@ +#!/usr/bin/python +# Version 0.05 +# +# Copyright (C) 2007 Adam Wolk "Mulander" <netprobe@gmail.com> +# Slightly updated by Mikael Berthe +# +# To use this script, set the "events_command" option to the path of +# the script (see the mcabberrc.example file for an example) +# +# This script is provided under the terms of the GNU General Public License, +# see the file COPYING in the root mcabber source directory. +# + +import sys + +#CMD_MSG_IN="/usr/bin/play /home/mulander/sound/machine_move.ogg" +CMD_MSG_IN="" +SHORT_NICK=True + +if len(sys.argv) == 5: + event,arg1,arg2,filename = sys.argv[1:5] +else: + event,arg1,arg2 = sys.argv[1:4] + filename = None + +if event == 'MSG' and arg1 == 'IN': + import pynotify,os,locale + encoding = (locale.getdefaultlocale())[1] + msg = 'sent you a message.' + + if SHORT_NICK and '@' in arg2: + arg2 = arg2[0:arg2.index('@')] + + if filename is not None: + f = file(filename) + msg = f.read() + + pynotify.init('mcnotify') + msgbox = pynotify.Notification(unicode(arg2, encoding),unicode(msg, encoding)) + msgbox.set_timeout(3000) + msgbox.set_urgency(pynotify.URGENCY_LOW) + msgbox.show() + if (CMD_MSG_IN): + os.system(CMD_MSG_IN + '> /dev/null 2>&1') + + if filename is not None and os.path.exists(filename): + os.remove(filename) + pynotify.uninit() + +# vim:set noet sts=8 sw=8: