Unlike Chris I found that the new gnome deskbar was not that helpful to me. I was missing the firefox bookmarks and shortcuts in particular. Reading Peter's blog he had originally found the same but after making a tweak with gconf-editor he found most functionality was restored. Alas not so easy for me...

After a little hunting I find that deskbar is a Python script /usr/lib/deskbar-applet/deskbar-applet which excepts option '-w' which enables me to "Launch the applet in a standalone window for test purposes".

Executing deskbar-applet with -w option one quickly learns that it loads extensions from ~/.gnome2/deskbar-applet/handlers/ and /usr/lib/deskbar-applet/handlers/. Each module is loaded and handlers are initialised. As I'm only interested in debugging 'web bookmarks' I disabled the other extensions from the deskbar-applet preferences, exited applet and copied the interested party to my own directory.

$ cd /usr/lib/deskbar-applet
$ cp handlers/mozilla.py ~/.gnome2/deskbar-applet/handlers
$ /usr/bin/python ./deskbar-applet -w
Running installed deskbar, using [/usr/lib/python2.4/vendor-packages/deskbar:$PYTHONPATH]
Data Dir: /usr/share/deskbar-applet
Handlers Dir: ['/home/sjm/.gnome2/deskbar-applet/handlers', '/usr/lib/deskbar-applet/handlers']
/usr/lib/python2.4/vendor-packages/deskbar/DeskbarApplet.py:10:
DeprecationWarning: Non-ASCII character '\xc2' in file /usr/lib/python2.4/vendor-packages/deskbar/ui/About.py
on line 26, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details from deskbar.ui.About import show_about Binding Global shortcut ‹Alt›F3 to focus the deskbar Unable to set processName Starting Deskbar instance: ‹gnome.applet.Applet object (PanelApplet) at 0x5aa260› None Traceback (most recent call last): File "/usr/lib/python2.4/vendor-packages/deskbar/Watcher.py", line 28, in add self.watched[name] = gnomevfs.monitor_add(name, self.monitor_type, self._on_change)

NotSupportedError: Unsupported operation Traceback (most recent call last): File "/usr/lib/python2.4/vendor-packages/deskbar/Watcher.py", line 28, in add self.watched[name] = gnomevfs.monitor_add(name, self.monitor_type, self._on_change) NotSupportedError: Unsupported operation esd: Esound sound daemon unable to create unix domain socket: /tmp/.esd/30/socket The socket is not accessible by esd. Exiting... Loading module 'SSH' from file /home/sjm/.gnome2/deskbar-applet/handlers/ssh.py. Loading module 'Del.icio.us Search' from file /home/sjm/.gnome2/deskbar-applet/handlers/delicious-deskbar.py. Loading module 'Web Searches' from file /home/sjm/.gnome2/deskbar-applet/handlers/mozilla.py. Loading module 'Web History' from file /home/sjm/.gnome2/deskbar-applet/handlers/mozilla.py. Loading module 'Web Bookmarks' from file /home/sjm/.gnome2/deskbar-applet/handlers/mozilla.py. *** ....

Having never looked at Python code before I was pleased to find 'print' ;-) Diligently I placed a few 'print "DEBUG: Method: Value", variable' statements and rerun where upon I got the following output:

Initializing Web Bookmarks
DEBUG: get_firefox_home_file: reading /home/sjm/.mozilla/firefox/profiles.ini
DEBUG: get_firefox_home_file: checking section:  Profile2
DEBUG: get_firefox_home_file: checking section:  Profile1
DEBUG: get_firefox_home_file: checking section:  Profile0
DEBUG: get_firefox_home_file: checking section:  General
DEBUG: get_firefox_home_file: path  ghogpt3y.VNC
DEBUG: _parse_bookmarks returned
/home/sjm/.mozilla/firefox/ghogpt3y.VNC/bookmarks.html

It is using my VNC bookmarks and not my default bookmarks which it should from my cursory review of the source; as shown here:

$ cat -n .gnome2/deskbar-applet/handlers/mozilla.py | head -45 | tail
    36          config.read(expanduser(join(firefox_dir, "profiles.ini")))
    37          print "DEBUG: get_firefox_home_file: reading", join(firefox_dir, "profiles.ini")
    38          path = None
    39
    40          for section in config.sections():
    41                  print "DEBUG: get_firefox_home_file: checking section: ", section
    42                  if config.get (section, "Default") == 1:
    43                          path = config.get (section, "Path")
    44                          print "DEBUG: get_firefox_home_file: default found ***"
    45                          break

A quick little patch, and all is well :-)

$ diff handlers/mozilla.py ~/.gnome2/deskbar-applet/handlers/mozilla.py
40c40
<               if config.get (section, "Default") == 1:
---
>               if config.get (section, "Default") == "1":

Logged as CR 6447265.

Stace

Technorati: 
Comments:

Post a Comment:
Comments are closed for this entry.

This blog copyright 2009 by ace