Howto integrate Skype and Ubuntu’s indicator-applet
Computers provide users with various communication channels (as facebook, twitter, chat programs like ICQ, jabber, Skype). Each channel usually provides an own program for interacting with other users using that channel. To prevent users from being overwhelmed Ubuntu added the notifier-applet. It unifies all different communication notifications into one simple panel applet.
I am using Skype for most of my online communication, mostly because other people are using it and there are strange firewalls at work preventing most other protocols. Alas there’s no support for Skype out of the box and the skype linux crew is kinda slow (Skype 2.1, anyone?). Enters me who needed some diversion from master thesis writing..
May I introduce indicator-skype-client.py: it’s a small script, written in two or three hours (most of the time spent upon finding strange bugs in python-indicate). It currently provides a list of unread messages. When a username is clicked the corresponding skype window is opened or created. By clicking on the Skype label its main window is displayed. So far it works.. various updates will follow.
How to install?
Just start the python script while skype is already running. Skype will ask if you want to allow the script to access its data, just answer yes. The script will do the rest. It does not install itself into the user session, so you’ll have to start it if you want skype notifications.
TODOs
- There are various workarounds in the code (for example I needed an empty callback to get things displayed), work out those bugs
- currently there’s a hard refresh every 5 seconds (in addition to incoming message detection). This will have to go and be replaced with a more dynamic scheme.
- detect if an unread conversation was openend within Skype and do not display this conversation
- somehow automatically start the script when Skype or the indication-applet starts
So some things are missing, but the script is already workable. Have fun (and please provide patches if you fix problems (: ).
No related posts.
From → Desktop-related, Linux

Hi, I tried to launch your script, but had a error.
“connected to skype!Traceback (most recent call last):
File “indicator-skype-client.py”, line 171, in
skype.Attach();
File “/usr/local/lib/python2.6/dist-packages/Skype4Py/skype.py”, line 408, in Attach
self._Api.attach(self.Timeout, Wait)
File “/usr/local/lib/python2.6/dist-packages/Skype4Py/api/posix_dbus.py”, line 163, in attach”
what should I do to execute script successfully?
Thank you.
never had that error.. could you give me some more information (as used skype version, distribution, indicator-lib version)? Was the program paired to skype, did you get Skype’s notification popup?
cheers, andy
Hi, I have solution and it works very well!
Post on OMG Ubuntu site has been written for adding thunderbird to messaging menu. I tried to remake the solution for skype. And it works.
First that you need is add some strings to /usr/share/applications/skype.desktop
StartupNotify=true
OnlyShowIn=Messaging Menu
Save and close.
The next steps is create /usr/share/indicators/messages/applications/skype file. Open it and add the following string:
/usr/share/applications/skype.desktop
Save and close.
Then log out of Ubuntu and log back in.
Link:
http://www.omgubuntu.co.uk/2010/05/how-to-add-thunderbird-to-messaging.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+d0od+(Omg!+Ubuntu!)
I don’t know for what this string: “OnlyShowIn=Messaging Menu”. There are no changes with or without it.
Yes there is. After adding this line Skype disappears from Applications>Internet menu
I also got the same error message. I have the following installed
Skype Version – 2.1.0.81
Ubuntu – 10.04 (Lucid) RC
python-skype – 1.0.31.0-1
libindicator0 – 0.3.8
I’ll love to have this working.
Thanks
okay.. please give me some days (I’m currently in the process of finishing my master thesis) before I investigate that problem.
I believe that during 10.04 development some dbus interfaces might have changed (as the indicator applet did stop to work for me recently). I’ll create a new comment as soon as this problem is solved.
I didn’t have any error, this script works me perfectly. Thank you very much :)
Here’s what I’ve got when testing the script. I’ve ran it in a terminal, it connected to skype and everything went fine until a new message arrived. After that I’ve got:
Traceback (most recent call last):
File “/usr/local/bin/indicator-applet-skype.py”, line 203, in
skype.check_timeout(server)
File “/usr/local/bin/indicator-applet-skype.py”, line 177, in check_timeout
self.unread_conversations[display_name].add_timestamp(mesg.Timestamp)
File “/usr/local/bin/indicator-applet-skype.py”, line 112, in add_timestamp
self.timestamps.add(timestamp)
AttributeError: ‘list’ object has no attribute ‘add’
Any ideas? Mb the problem is with versions? (I’ve got python 2.6)