|
1 #!/usr/bin/python |
|
2 # Version 0.05 |
|
3 # |
|
4 # Copyright (C) 2007 Adam Wolk "Mulander" <netprobe@gmail.com> |
|
5 # Slightly updated by Mikael Berthe |
|
6 # |
|
7 # To use this script, set the "events_command" option to the path of |
|
8 # the script (see the mcabberrc.example file for an example) |
|
9 # |
|
10 # This script is provided under the terms of the GNU General Public License, |
|
11 # see the file COPYING in the root mcabber source directory. |
|
12 # |
|
13 |
|
14 import sys |
|
15 |
|
16 #CMD_MSG_IN="/usr/bin/play /home/mulander/sound/machine_move.ogg" |
|
17 CMD_MSG_IN="" |
|
18 SHORT_NICK=True |
|
19 |
|
20 if len(sys.argv) == 5: |
|
21 event,arg1,arg2,filename = sys.argv[1:5] |
|
22 else: |
|
23 event,arg1,arg2 = sys.argv[1:4] |
|
24 filename = None |
|
25 |
|
26 if event == 'MSG' and arg1 == 'IN': |
|
27 import pynotify,os,locale |
|
28 encoding = (locale.getdefaultlocale())[1] |
|
29 msg = 'sent you a message.' |
|
30 |
|
31 if SHORT_NICK and '@' in arg2: |
|
32 arg2 = arg2[0:arg2.index('@')] |
|
33 |
|
34 if filename is not None: |
|
35 f = file(filename) |
|
36 msg = f.read() |
|
37 |
|
38 pynotify.init('mcnotify') |
|
39 msgbox = pynotify.Notification(unicode(arg2, encoding),unicode(msg, encoding)) |
|
40 msgbox.set_timeout(3000) |
|
41 msgbox.set_urgency(pynotify.URGENCY_LOW) |
|
42 msgbox.show() |
|
43 if (CMD_MSG_IN): |
|
44 os.system(CMD_MSG_IN + '> /dev/null 2>&1') |
|
45 |
|
46 if filename is not None and os.path.exists(filename): |
|
47 os.remove(filename) |
|
48 pynotify.uninit() |
|
49 |
|
50 # vim:set noet sts=8 sw=8: |