Skip to Content Skip to Search Go to Top Navigation Go to Side Menu
Search on Site

Quick Alacarte fix

Monday, January 9, 2006

For anyone experiencing the following error with Alacarte, (the Gnome menu editor that almost actually lets you edit the menus):

Traceback (most recent call last):
File "/usr/bin/alacarte", line 26, in ?
main()
File "/usr/bin/alacarte", line 23, in main
GnomeFront()
File "/usr/lib/python2.4/site-packages/Alacarte/GnomeFront.py", line 72, in __init__
self.loadMenus()
File "/usr/lib/python2.4/site-packages/Alacarte/GnomeFront.py", line 201, in loadMenus
self.app_handler = MenuHandler('applications.menu', self.options)
File "/usr/lib/python2.4/site-packages/Alacarte/PyXDGMenuHandler.py", line 27, in __init__
xdg.MenuEditor.MenuEditor.__init__(
File "/usr/lib/python2.4/site-packages/xdg/MenuEditor.py", line 28, in __init__
self.parse(menu, filename, root)
File "/usr/lib/python2.4/site-packages/xdg/MenuEditor.py", line 40, in parse
self.menu = parse(menu)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 517, in parse
__parse(doc, filename, tmp["Root"])
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 538, in __parse
__parseMenu(child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 692, in __parseMenu
__parse(child, filename, m)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 576, in __parse
__parseMergeFile("applications.menu", child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 743, in __parseMergeFile
__mergeFile(os.path.join(p,rel_file),child,parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 792, in __mergeFile
__parse(child,filename,parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 587, in __parse
__parseDefaultMergeDirs(child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 763, in __parseDefaultMergeDirs
__parseMergeDir(os.path.join(dir, "menus", basename + "-merged"), child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 756, in __parseMergeDir
__mergeFile(os.path.join(value, item), child, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 792, in __mergeFile
__parse(child,filename,parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 538, in __parse
__parseMenu(child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 692, in __parseMenu
__parse(child, filename, m)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 572, in __parse
parent.Rules.append(Rule(child.tagName, child))
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 284, in __init__
self.compile()
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 290, in compile
exec("""
 
File "<string>", line 6
elif :
^
SyntaxError: invalid syntax</string>

Change line 290 of the file /usr/lib/python2.4/site-packages/xdg/Menu.py from:

elif %s:

to

elif (%s):

and you should be right as rain. I don’t know any Python, but I believe it’s picky about tab indentation (which this blog ham fistedly turns into multiple non-breaking line spaces), so watch yourself.

Popularity: 8% [?]

Leave a Reply


In order to submit a comment, you need to mention your name and your email address (which won't be published).

Comment Form