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.
You rock so hard.
6 hours later
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.
7 hours later
Brilliant. Gnome, the Web 2.0 desktop!
All I need now is Flickr integration in deskbar…
30 hours later
Håkon: I thought about that, but I’m not sure what Flickr integration would look like. I’m musing on it…
30 hours later
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…………………
34 hours later
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…..
37 hours later
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.
37 hours later
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
39 hours later
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"44 hours later
thanks for the help sil.
result :
46 hours later
ackk :)
i’ll try that without the tags :
xml.dom.minidom.Document instance at 0xb7afadac
46 hours later
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.)
47 hours later
Eddy: To syncronise epiphany and delicious check out epilicious: http://therning.org/magnus/computer/epilicious/
2 days later
[...] 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. [...]
2 days later
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 :)
2 days later
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
10 days later
michael: yep, it’s GPL2.0.
5 weeks later
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.
5 weeks later
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.
5 weeks later
Hey sil, that variable solved the problem. Thx dude!
My deskbar version is 2.14.1.1
Congrats for the great work!
6 weeks later
[...] 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. [...]
8 weeks later
[...] del.icio.us plugin [...]
20 weeks later
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.
38 weeks later
[...] For those who use del.icio.us, there is a great del.icio.us plugin that can be used to search your bookmarks. [...]
68 weeks later
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/
73 weeks later
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!
73 weeks later
[...] 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 [...]
98 weeks later