Post to Twitter from Ubuntu Deskbar

Deskbar is a Gnome widget you can embed in a panel and can be used for opening applications, opening items from your browser history, doing web searches and all sorts. It’s not as good as Quicksilver but better than Launchy. It fires when you hit a key combo (mine is CTRL+SPACE) and looks a bit like this:

Screenshot of Deskbar on Ubuntu

For the soulless, Twitter is length limited asynchronous multicast IM, for everyone else, it’s a nice way to keep up to date with what your friends are doing using the web, IM or SMS. My rarely-posted to Twitter page is here.

Lucky for me, Deskbar is easily extendable , and so that’s just what I’ve done. I looked at the Twitter Wiki, found a Python Twitter library downloaded their little icon thing and written a sript to let you post to Twitter from your Deskbar. It looks like this:

Screenshot of Deskbar with Twitter plugin installed

To install:

  1. Install python-twitter
  2. Grab deskbar-twitter.py and twitter.png and put them in ~/.gnome2/deskbar-applet/handlers/
  3. Open your downloaded deskbar-twitter.py in an editor
  4. Replace TWITTER_USERNAME and TWITTER_PASSWORD with your Twitter details
  5. Replace YOUR_USERNAME with your Ubuntu username

It took longer to write this blog post than the code, so patches welcome.

16 thoughts on “Post to Twitter from Ubuntu Deskbar

  1. The link to your twitter page is busted.

    [And this is a nice hack that might lead to me finally getting a twitter account. Dammit.]

  2. Very nice idea !
    Using it now.

    You can also embed the icon in the python extension, by base64-encoding it and loading at runtime. Also since 2.18 deskbar supports installing by drag and dropping a .py link to the prefs panel and it gets installed automatically. Finally, you should probably add a simple config dialog to store the twitter username and password.

    Very nice work !

  3. Thanks very much for that Raphael. I had seen other extensions using base64-encoded icons but none of them worked, so I didn’t bother ;)

    Yes, you’re right about the preferences, but I was too lazy :)

  4. I really like your idea to post to twitter with deskbar, but i cannot get python-twitter to work. First by ubuntu doesn’t recognize the easy_setup command.

    Secondly, i get (after some python traceback calls) the following error rule after I started the python script “setup.py test”:
    pkg_resources.DistributionNotFound: simplejson>=1.5

    What should I do, easy_setup cannot be installed through the repo?

    TIA!

  5. Yes, that does the trick, thanks a lot!

    Please note you point to the icon “twitter.png”, but provided an icon called “deskbar-twitter.png”, so you should change one of them to get the icon working.

    But furthermore: this is really cool, i’ll post it at forums i’m visiting very often!

  6. It’s telling me that the api.Update() method requires exactly two arguments where I supplied four (?!). Anyone else having this problem?

  7. Nice work!

    A small modification required if you want to use it with ptyhon-twitter 0.4:

    @@ -20,8 +20,8 @@ HANDLERS = {
    #It simply always displays “Hello World” in the dropdown list.
    class TwitterMatch(Match):
    def action(self, text=None):
    - api = twitter.Api()
    - api.PostUpdate(‘TWITTER_USERNAME’, ‘TWITTER_PASSWORD’, self.name)
    + api = twitter.Api(‘TWITTER_USERNAME’, ‘TWITTER_PASSWORD’)
    + api.PostUpdate(self.name)
    def get_category(self):
    return “actions”
    def get_verb(self):

  8. Hi, Thanks a lot for your work.

    I don’t use Twitter but I like the concept, and your tool is perfect

    However, I don’t think everybody wants to go through installing that lib (unless there are distro packages),
    so I made my own version using only HTTP methods (which are included by default I think)

    anyway here is it

    http://ubuntuforums.org/showthread.php?t=554874

    it’s still far from perfect but I tried it and it worked

    Again very nice tool, I think I’ll give this twitter thing a try :)

  9. This is a nice piece. I just started using Ubuntu as my main OS and this seems like a good way to get to know my way around it. I will also play with your code and let you know if I can contribute to it.

    Thanks for posting.

  10. Cool. Could you write a plugin for Google Buzz? I think it must be fairly easy to do but I’m the worst programmer ever.

  11. Look kinda neat. My only concern is the bulking up of all layers at the top of web browsers. This leaves less actual page view when we continue to add more horizontal bars. Thanks for the intro to this option. I just plain love twitter. Debby

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>