Introducing LibreOffice integration with Unity’s Application Menubar

Canonical has kindly sponsored some of my time at Codethink to bring one of the major missing pieces of the Unity user experience in Ubuntu. As you may know the Unity features a global menubar for applications. Integration with standard Gtk+ applications and Firefox/Thunderbird is already in place.



LibreOffice is the default office suite for Ubuntu 11.04 and its menus were not shown on the Application Menubar… until now:

I just rolled the first release. It has plenty of bugs and memory leaks, and kenvandine just told me it crashes on 64bits, but it's a start and the basic info publishing and command dispatching is there.

I expect to get it into shape in the upcoming weeks. I'm focusing on avoiding memory leaks and covering some corner cases with window handling at this point. Then I'll take care of shortcuts and getting some missing information of each item.

Hacking with UNO has been… interesting… the one good thing is that pretty much everything is either documented or there's some code around to look at. I had some deja vu moments when I worked on StarOffice/ and Firefox extensions for APOC. Thanks god for Google Codesearch.

I also hope this code becomes useful for environments other than Unity such as GNOME Shell. If you have any questions about it just ask!

14 thoughts on “Introducing LibreOffice integration with Unity’s Application Menubar

  1. What is the copyright assignment policy for lo-menubar? Does contribution to lo-menubar require signing the Canonical CA and the associated copyright assignment?


  2. Nice! Btw why are there no separators in the menu? Still not implemented or does not have them (not on my Ubuntu box ATM so can’t check)?
    @jef please stop being a public nuisance. There are proper *official* channels for your pet peeves. This blog isn’t one of them.


  3. Zekopeko?
    Uhm.. its a valid question that the the article author can answer. And the project is not yet listed on the canonical contribution agreement page. Am I just suppose to assume that its required?
    The codebase doesn’t have a readme which details whether or not assignment is required. This is actually a general failing with launchpad. If the contribution requirements for each project were somehow expressable in the launchpad entry I wouldn’t have to ask.


  4. @Omer:
    Yes, the LO guys seem open about the idea, but I feel more comfident doing it as an extension until it’s on shape.
    I think you should ask the Canonical guys about it. That’s out of my scope 🙂
    This work is far from finished, yes, separators are missing, and accelerators as well, plus the disabled items (insensitive, greyed out).
    Stay tuned 🙂


  5. Hey Alberto, *great work* =)
    You are fixing the very first usability issue that I’ve noticed when I first started using unity. You should be very proud ^_^


  6. This is awesome, thanks! 🙂
    Feel free to contact me if you face any issues with this work. It’s possible that you could hit problems that I’ve already experienced at some point, having just written the menubar extension for Firefox and Thunderbird.


  7. This is the last piece of the puzzle for Unity globalmenu integration. Great job!!!
    Is there any PPA to try this out? Any installation guide?
    I’m just overtly keen to get my hands dirty with this 🙂


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s