Deskbar applet del.icio.us plugin

Lots of people use delicious for bookmarking, including me. So I’ve written a plugin for the Gnome deskbar applet that searches your del.icio.us bookmarks. Download Delicious Deskbar below and drop the file in the .gnome2/deskbar-applet/handlers/ folder in your home directory. By default it will search all of del.icio.us for the tag you enter, but you can configure it to search just your bookmarks through the Preferences window.

Deskbar’s a nice thing to work with, in case I haven’t mentioned this. I think it could do with some more visual flashiness, myself, and I also wish that stuff like this went in Library/Deskbar Applet/Handlers rather than the hidden .gnome2 folder — that’s one thing that the Mac people definitely got right!

Update: fixed a bug when using multiple search terms in deskbar.
Update: licenced under the GNU GPL 2.0.

Download the latest version.

27 Responses to “Deskbar applet del.icio.us plugin”

  1. You rock so hard.

    Davyd
  2. Solid stuff.

    I also agree with the comments about visual flashiness and a more descriptive directory structure. Right now there are three main things that make me hang on to my Mac:

    1) Quicksilver
    2) Exposé
    3) Extensive PDF support.

    Deskbar is taking care of 1), GLX is taking care of 2) … but I still cannot easily import equation in LaTeX into, say, Inkscape, like I can with Equation Editor and Illustrator. Here is hoping that the SVG backend to Cairo comes out soon …

    Wow. Just went on a tangential rant.

    Your plugin rocks. Hard. Like the other dude said.

    Marcus
  3. Brilliant. Gnome, the Web 2.0 desktop!

    All I need now is Flickr integration in deskbar…

    Håkon
  4. Håkon: I thought about that, but I’m not sure what Flickr integration would look like. I’m musing on it…

    sil
  5. Håkon: F-Spot has support for posting to Flickr. IT might be closer than you think.

    I love the slogan: “the Web 2.0 desktop”.

    Although that’s a paradox in itself. Web 2.0 were supposed to provide an experience where the web becomes the desktop, so we don’t care whatever desktop environment we’re running.

    GNOME surely is nice. Now, if someone would make an Epiphany extension that would sync tagged Epiphany bookmarks with del.icio.us…………………

    Eddy Mulyono
  6. great idea. unfortunately its not working as expected - although i noticed that deskbar was updated this morning (ubuntu dapper) to 2.14.0.1

    it appears in preferences, but is not included when searching (i have ticked the box to include it). i have to admit that deskbar has never worked 100% ever since i installed xgl, so it could be something else…..

    andrew
  7. andrew: If you run deskbar in a terminal window with “/usr/lib/deskbar-applet/deskbar-applet -w” it should write a load of stuff to the terminal; at the end does it say “Initializing Del.icio.us Search”? If it does, then it should be working. If it doesn’t, then there may be an error listed above; post the output here or email it to me and I’ll take a look.

    sil
  8. Heres the results (edited out anything not interesting):

    Initializing Del.icio.us Search
    Initializing Files and Folders Bookmarks
    Initializing Disks and Network Places
    Initializing Mail
    Initializing Yahoo! Search
    Initializing Dictionary
    Initializing Files and Folders Search
    Query yahoo for: ubuntu
    Query del.icio.us for: ubuntu with tag
    Got yahoo answer for: ubuntu
    Returning yahoo answer for: ubuntu
    Exception in thread Thread-1:
    Traceback (most recent call last):
    File “/usr/lib/python2.4/threading.py”, line 442, in __bootstrap
    self.run()
    File “/usr/lib/python2.4/threading.py”, line 422, in run
    self.__target(*self.__args, **self.__kwargs)
    File “/usr/lib/python2.4/site-packages/deskbar/Handler.py”, line 292, in __que ry_async
    self.__query_async (query_change.new_query)
    File “/usr/lib/python2.4/site-packages/deskbar/Handler.py”, line 292, in __que ry_async
    self.__query_async (query_change.new_query)
    File “/usr/lib/python2.4/site-packages/deskbar/Handler.py”, line 284, in __que ry_async
    res = self.query (qstring, deskbar.DEFAULT_RESULTS_PER_HANDLER)
    File “/home/ae/.gnome2/deskbar-applet/handlers/delicious-deskbar.py”, line 137 , in query
    dom = xml.dom.minidom.parse(stream)
    File “/usr/lib/python2.4/site-packages/_xmlplus/dom/minidom.py”, line 1915, in parse
    return expatbuilder.parse(file)
    File “/usr/lib/python2.4/site-packages/_xmlplus/dom/expatbuilder.py”, line 930 , in parse
    result = builder.parseFile(file)
    File “/usr/lib/python2.4/site-packages/_xmlplus/dom/expatbuilder.py”, line 207 , in parseFile
    parser.Parse(buffer, 0)
    ExpatError: undefined entity: line 9, column 122

    Query yahoo for: deskbar
    Got yahoo answer for: deskbar
    Returning yahoo answer for: deskbar

    (deskbar-applet:12307): Bonobo-WARNING **: Never got frame, control died - abnormal exit condition

    andrew
  9. andrew: oo. That means that del.icio.us is returning invalid XML. Blast. If it’s doing that then I’ll have to use a different RSS parser.

    Can you try the following, at the command line (it’s all one line), and post the output?

    python -c "import urllib; from xml.dom import minidom; dom=minidom.parse(urllib.urlopen('http://del.icio.us/rss/%s/%s' % ('tag','ubuntu'.replace(' ','+')))); print dom"

    sil
  10. thanks for the help sil.
    result :

    andrew
  11. ackk :)
    i’ll try that without the tags :
    xml.dom.minidom.Document instance at 0xb7afadac

    andrew
  12. andrew: so that works fine, then. Does Delicious Deskbar still fail? Those two do the same thing, I believe, so if one succeeds the other should too.

    (PS. Yes, sorry about the angle brackets thing. I need to make WordPress escape brackets in comments, but I’m not sure how.)

    sil
  13. Eddy: To syncronise epiphany and delicious check out epilicious: http://therning.org/magnus/computer/epilicious/

    Dean
  14. [...] Notes: The plugin requires libgmail: install from your distribution (it’s python-libgmail in Ubuntu) or from libgmail.sf.net. You will need to edit the plugin and hardcode your Gmail username and password into it; look at the file and edit the part at the top where username and password are specified. Yes, this is not good. I would like to use the Gnome keyring to store the username and password, but it’s restricted to internal use for the Gnome desktop and not for applications, and it’s not available for Python anyway. As soon as it’s a public API and wrapped for Python I’ll be happy to use it. If you’re not happy with hardcoding your password, and I don’t blame you, then feel free to not use it. Like Delicious Deskbar, it demonstrates how to embed your own custom icon in a plugin rather than depending on an external file; convert it to an XPM with the Gimp and then embed in the file. [...]

    as days pass by » Gmail Deskbar
  15. hey sil - i just updated dapper and tried out deskbar and it seems to be working fine?!?

    my system felt a little flakey for a few days there - so it may have been an issue with something other than deskbar? anyway - thanks for your help and cool plugin :)

    andrew
  16. hey, this works great! have you gpl’d this? it doesnt include a licence. The reason i ask is because Ive taken the liberty of modifying it a bit and hacked up a quick scuttle version for those of us that use it. I wont post it here because its still a bit hacky, but i should have it cleaned up in a few days.

    scuttle is like a personal del.icio.us: http://www.scuttle.com

    michael
  17. michael: yep, it’s GPL2.0.

    sil
  18. Hello sil, thank you so much for this ultra-useful tool. Just a question; after I press more… at the deskbar for entering my personal data, I get the following:

    Traceback (most recent call last):
    File "/usr/lib/python2.4/site-packages/deskbar/ui/DeskbarPreferencesUI.py", line 164, in on_more_button_clicked
    self.more_button_callback(self.dialog)
    TypeError: _on_more_information() takes no arguments (1 given)

    Dp you know what’s happening?

    Thank you in advance.

    sonojacker
  19. sonojacker: looks like a bug, that. I can see what’s wrong with it; I think you have a more up-to-date Deskbar than I do. To fix it, change

    def _on_more_information():

    to

    def _on_more_information(dia):

    and that should fix it.

    sil
  20. Hey sil, that variable solved the problem. Thx dude!
    My deskbar version is 2.14.1.1
    Congrats for the great work!

    sonojacker
  21. [...] Believe the Web2.0 hype. Well, some of it. Much of your data should live online. Switch to Gmail instead of keeping huge local mail archives, simply because Gmail is more searchable. With Gmail you can keep all your mail, and you don’t have to organize it because their search is faster than your ability to figure out the organization plan you had in mind a year ago. I’m sure other mail services are just as nice, but a plugin happens to be available which integrates Gmail into the deskbar and thus into your desktop. Use del.icio.us and tag all interesting pages so they are also searchable from the deskbar. Another upside with keeping your data on other people’s servers is that (let’s face it) Google’s servers are more likely to stay up 24/7 than yours so you can get to your data from any machine, anytime. Similarly, use F-Spot to tag your photos and upload them to Flickr (why Flickr of all the photo upload services on the Web? Because that’s what F-Spot supports, and F-Spot is what Beagle supports!) Use Gmailfs or Box.net to store data you might want to keep accessible at all times. [...]

    egads! ’tis topyli! » Blog Archive » Integrating your personal information space with “The Searchable GNOME”
  22. [...] del.icio.us plugin [...]

    Quicksilver Replacement for Linux at Robby Colvin
  23. What I want to do on my blog, is every few hours take the oldest post and move it to the
    front of the queue, all automatically. Anyone know if there is a plugin that can do this or
    a simple way to set up another plugin to do this (use my own feed perhaps)?
    Thanks.

    Ricky
  24. [...] For those who use del.icio.us, there is a great del.icio.us plugin that can be used to search your bookmarks. [...]

    Robby Colvin » Blog Archive » Quicksilver Replacement for Linux
  25. The delicios plugin doesnt work here’s my output:
    asbhatt@asbhatt-laptop:~$ /usr/lib/deskbar-applet/deskbar-applet -w
    Running installed deskbar, using [/usr/lib/python2.5/site-packages/deskbar:$PYTHONPATH]
    Data Dir: /usr/share/deskbar-applet
    Handlers Dir: ['/home/asbhatt/.gnome2/deskbar-applet/handlers', '/usr/lib/deskbar-applet/handlers']
    Binding Global shortcut F3 to focus the deskbar

    ** (deskbar-applet:12221): WARNING **: Binding ‘F3′ failed!

    Running with options: {’popup_mode’: False, ‘cuemiac’: False, ‘do_trace’: False, ’standalone’: True}
    Starting Deskbar instance: None
    Set entry width: 20
    Layout changed to 1
    Set entry width: 20
    Layout changed to 1
    Changing UI to: Entriac
    Loading module ‘Web’ from file /usr/lib/deskbar-applet/handlers/web_address.py.
    Loading module ‘Mail (Address Book)’ from file /usr/lib/deskbar-applet/handlers/evolution.py.
    Loading module ‘Files and Folders Search’ from file /usr/lib/deskbar-applet/handlers/programs.py.
    Loading module ‘Dictionary’ from file /usr/lib/deskbar-applet/handlers/programs.py.
    Loading module ‘Developer Documentation’ from file /usr/lib/deskbar-applet/handlers/programs.py.
    Error:load_icon:Icon Load Error:Icon ‘devhelp’ not present in theme (or Icon ‘devhelp’ not present in theme)
    Loading module ‘Programs’ from file /usr/lib/deskbar-applet/handlers/programs.py.
    Loading module ‘Files, Folders and Places’ from file /usr/lib/deskbar-applet/handlers/files.py.
    Loading module ‘del.icio.us Bookmarks’ from file /usr/lib/deskbar-applet/handlers/desklicious.py.
    ***
    *** The file /usr/lib/deskbar-applet/handlers/beagle-live.py (BeagleLiveHandler) decided to not load itself: Could not load beagle, libbeagle has been compiled without python bindings:No module named beagle
    ***
    ***
    *** The file /usr/lib/deskbar-applet/handlers/epiphany.py (EpiphanyBookmarksHandler) decided to not load itself: Epiphany is not your preferred browser, not using it.
    ***
    Loading module ‘History’ from file /usr/lib/deskbar-applet/handlers/history.py.
    Loading module ‘Beagle’ from file /usr/lib/deskbar-applet/handlers/beagle-static.py.
    Loading module ‘Yahoo! Search’ from file /usr/lib/deskbar-applet/handlers/yahoo.py.
    Loading module ‘Recent Documents’ from file /usr/lib/deskbar-applet/handlers/recent.py.
    Loading module ‘Window Switcher’ from file /usr/lib/deskbar-applet/handlers/iswitch-window.py.
    Error:load_icon:Icon Load Error:Icon ‘panel-window-menu’ not present in theme (or Icon ‘panel-window-menu.png’ not present in theme)
    Loading module ‘Web Searches’ from file /usr/lib/deskbar-applet/handlers/mozilla.py.
    Loading module ‘Web History’ from file /usr/lib/deskbar-applet/handlers/mozilla.py.
    Loading module ‘Web Bookmarks’ from file /usr/lib/deskbar-applet/handlers/mozilla.py.
    ***
    *** The file /usr/lib/deskbar-applet/handlers/galeon.py (GaleonBookmarksHandler) decided to not load itself: Galeon is not your preferred browser, not using it.
    ***
    Loading module ‘Computer Actions’ from file /usr/lib/deskbar-applet/handlers/gdmactions.py.
    Loading module ‘Del.icio.us Search’ from file /usr/lib/deskbar-applet/handlers/delicious-deskbar.py.
    Initializing del.icio.us Bookmarks
    Initializing History
    Initializing Programs
    Error:load_icon:Icon Load Error:Failed to open file ‘/home/asbhatt/.icons/eXperience/small/filesystems/gnome-fs-server.svg’: No such file or directory (or Icon ‘/home/asbhatt/.icons/eXperience/small/filesystems/gnome-fs-server.svg’ not present in theme)
    Initializing Files, Folders and Places
    Initializing Web Bookmarks
    Initializing Web Searches
    Initializing Beagle
    Initializing Computer Actions
    Initializing Developer Documentation
    Initializing Dictionary
    Initializing Files and Folders Search
    Initializing Recent Documents
    Initializing Web History
    Initializing Window Switcher

    please help. i put the py file in .gnome2/deskbar-applet/handlers/

    ravi
  26. Wow!. Nevermind. all of a sudden my delicios bookmarks poured down the screen.i guess it took a while for it to get the rss feed. now i’m happy! thanks!

    ravi
  27. [...] parecido. Sí he visto un par de utilidades, pero no es lo que estoy buscando. Una de ellas, Deskbar Applet Del.icio.us Plugin. Se añade al Deskbar Applet para realizar las búsquedas. Para que funcione debemos colocar el [...]

    La otra bola de cristal -

Leave a Reply