Skip to content

Howto integrate Skype and Ubuntu’s indicator-applet

by andy on January 21st, 2010

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..

Screenshot of the Indicator-Applet Skype plugin

indicator-applet with skype

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.

10 Comments
  1. contestar permalink

    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

      • contestar permalink

        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!)

        • contestar permalink

          I don’t know for what this string: “OnlyShowIn=Messaging Menu”. There are no changes with or without it.

          • bialy663 permalink

            Yes there is. After adding this line Skype disappears from Applications>Internet menu

  2. 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.

  3. snapdragon permalink

    I didn’t have any error, this script works me perfectly. Thank you very much :)

  4. xeno.by permalink

    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)

Trackbacks & Pingbacks

  1. GMail Notify Programs « Linux Sagas

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS

Login with Facebook: