Differences between revisions 55 and 56
Revision 55 as of 2008-02-03 08:42:41
Size: 17466
Editor: ayozone
Comment: Changed new global menu rev number
Revision 56 as of 2008-02-03 10:01:56
Size: 17468
Editor: ayozone
Deletions are marked like this. Additions are marked like this.
Line 97: Line 97:

Aggregation of the Gnome Global Menu Patch data, Originally By AqD


Forum thread about the Gnome Global Menu where you can help improve it, package it, find the latest info... BR BR

note : this gtk mac menu hack won't work with XUL apps (ie : firefox) Java swing apps (ie : open office) and all kde apps or non gtk apps.BR

Bug report on Gnome's bugzilla, vote for inclusion! : BR BR

New Global menu Project home page (main dev : rainwoodman):BR

Installation instructions

This page offers several different methods to install the patched Gtk:

  • you can use [#deb deb packages]. (debs of the new global menu project)
  • you can built yourself the [#ng new global menu] from rainwoodman project
  • you can use the standard [#autotools autotools] (configure/make/make install) method. (based on the old AdQ patch)
  • you can use the [#apt-build apt-build] method (you will build debs). (based on the old AdQ patch)

You can as well build the applet from the source code

  • Instructions to [#compile compile] the Gnome Global Menu Applet.

Skinning instructions

The default install doesn't handle well transparency or colors , and you may want it to look like more a famous OS, or just add a bit more transparency. Head to [#skinning skinning] for detailed instructions.

Uninstall instructions

Should you wish to uninstall global-menu, head to the [#uninstall uninstall instructions]

Installation instructions



For i386


NOTE: At no time during this should there be Error messages. If there are try not to restart your system until any errors are resolved. Look for further help posting your Error message here:

Step 1:

Download the all the files above. Extract both of them to your desktop. Step 2:

Install all the dependencies which is where most of you are having trouble. Go to Terminal and Copy & Paste the following:


sudo aptitude install liborbit2-dev libgnomeui-dev libglade2-dev libbonoboui2-dev libglib2.0-dev libpango1.0-dev libatk1.0-dev libcairo2-dev libx11-dev libxext-dev libxinerama-dev libxi-dev libxrandr-dev libxcursor-dev libxfixes-dev libxcomposite-dev libxdamage-dev libcairo-directfb2 libcairo-directfb2-dev libcairo2-dev

Step 3:

Install all the deb packages in those folders. If you have problems report them here:

Step 4:

Restart your system then right click on the taskbar where you want the mac menu, then choose Add to Panel and select the Mac Menu.

Lastly a big thanks to Hal9000/2 and everyone else involved for your fine work.

latest Update: 2.2.2008 - By Goo supports gnome 2.20.1

For AMD64

[deb packages needed, feel free to contribute..]


Info to build the lastest Global Menu

Originally Posted by rainwoodman on 2008-01-29, rev number corrected : 2008-02-03BR

The applet has been rewitten, and renamed from macmenu to globalmenu. (since I don't want to go to law issues).BR That's why the file is so difficult to find. If you really want the very old adq's original code you can check it out from : BR

The most recent stable tags is located at : BR BR

Perhaps the documentation in this link will be useful if you want to install : BR BR and the build guide : BR BR

Look for [#fdi further development infos] BR


Install using autotools

We're first going to install the mac menu applet:

-Download this file (note: you must be a member of to be able to download it)

-Open a terminal, go to the directory where you've downloaded the file using cd and execute the following command lines.


tar jxvf gnome-macmenu-applet-1.0.11.tar.bz2
cd gnome-macmenu-applet-1.0.11
sudo cp gnome-macmenu-applet /usr/lib/gnome-applets/
sudo cp GNOME_MacMenuApplet.server /usr/lib/bonobo/servers/

We're now gonna patch gtk+ with a gtk+ patch

-But we need dependencies installed first. I don't know what is needed exactly, here is the list of dev packages I have:


autotools-dev comerr-dev dpkg-dev libart-2.0-dev libatk1.0-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libc6-dev libcairo-directfb2-dev libcairo2-dev libcupsys2-dev libdbus-1-dev libdirectfb-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgail-dev libgconf2-dev libgcrypt11-dev libgdk-pixbuf-dev libglade2-dev libglib1.2-dev libglib2.0-dev libgnome-keyring-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgtk1.2-dev libgtk2.0-dev libhal-dev libhal-storage-dev libice-dev libidl-dev libjpeg62-dev libkrb5-dev liblzo2-dev libopencdk8-dev liborbit2-dev libpanel-applet2-dev libpango1.0-dev libpng12-dev libpopt-dev libselinux1-dev libsepol1-dev libsm-dev libstartup-notification0-dev libstdc++6-4.1-dev libsysfs-dev libtasn1-3-dev libtiff4-dev libusplash-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxml2-dev libxrandr-dev libxrender-dev libxres-dev libxt-dev linux-libc-dev x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev xutils-dev zlib1g-dev

you can install them before patching gtk+ by typing Code:

sudo apt-get install ...packages from the list above...

Then we're starting the patching itself.

-Download this file (note: you must be a member of to be able to download it)

-Open a terminal, go to the directory where you've downloaded the file using cd and execute the following command lines.


gzip -d gtk+-2.12.0-r2-gtkmenubar.diff.gz
sudo apt-get install build-essential
apt-get source gtk+2.0
tar zxvf gtk+2.0_2.12.0.orig.tar.gz
cd gtk+2.0-2.12.0
patch -p0 < ../gtk+-2.12.0-r2-gtkmenubar.diff
./configure --prefix=/usr
sudo make install

NOTE Be Patient, this compiles from source, which will take considerably longer than installing from the Binary Package (Binary ~1 Minute | Source ~30 Minutes)BRBR

You're now ready to use all the mac menu goodness ! Please report in the forum thread any problems you might have encountered.


Install using apt-build

Install the mac menu applet deb package (note: you must be a member of to be able to download it: , then in a terminal, type in this to install apt-build


sudo apt-get install apt-build

Choose to add apt-build repository to your sources.list when asked.

After, I told apt-build to get libgtk2.0-0 source package (apt-build takes care of the build deps for you, ie: -dev packages) You need to have the Ubuntu sources repositories enabled (menu System > Administration > Software sources, then pick Ubuntu software tab and check Source Code box).


sudo apt-build source libgtk2.0-0

Next step was to copy the downloaded patch [#two 2] from where is was (on the desktop in _this_ case, replace "~/Desktop/" with the path where you downloaded the gzipped patch) to the libgtk2.0-0 source package directory If you also want to remove the underlines use the patch 098_no_label_underline.patch [#three 3]

First, uncompress 099_mac_menubar.patch.gz :


gzip -d ~/Desktop/099_mac_menubar.patch.gz

then copy the patches to the patches directory (assuming they are on your Desktop, if it's not the case replace ~/Desktop/ with the path were the patches are located)


sudo cp ~/Desktop/099_mac_menubar.patch /var/cache/apt-build/build/gtk+2.0-2.12.0/debian/patches/
sudo cp ~/Desktop/098_no_label_underline.patch /var/cache/apt-build/build/gtk+2.0-2.12.0/debian/patches/

And, add the name of the patches you have added (i.e."099_mac_menubar.patch", "098_no_label_underline.patch")to the debian/patches/series list


sudo gedit /var/cache/apt-build/build/gtk+2.0-2.12.0/debian/patches/series

Now we use use apt-build to build the packages


sudo apt-build install libgtk2.0-0

NOTE Be Patient, this compiles from source, which will take considerably longer than installing from the Binary Package (Binary ~1 Minute | Source ~30 Minutes)BRBR After that you'll have an update for libgtk in your update manager (it won't install automatically because local apt-build repository isn't signed), let update manager install them and finally, add the applet to the top panel. Now you need to log out/in gnome to see the changes.


Compile it from the source code

For those who want/need to compile themselves the mac menu applet (ie: 64bits)

Install this before


sudo apt-get install build-essential libwnck-dev libpanelappletmm-2.6-dev

Then unpack the applet source and go in its folder


tar -xvzf macmenu-applet-0.1.tar.gz
cd macmenu-applet-0.1/

Then compile and install


sudo make install

NOTE Be Patient, this compiles from source, which will take considerably longer than installing from the Binary Package (Binary ~1 Minute | Source ~30 Minutes)BR

Skinning instructions


Here’s an (non exhaustive) list of mac menu compatible themes for gtk :

You can also hack your theme, like I did. I edited the gtkrc file of the theme I use. (the gtkrc file of your theme is located under ~/.themes/[YOUR_THEME_NAME]/gtk-2.0/gtkrc)

here’s the code I added in my gtkrc file : Code:

#panel stuff
style "panelbg"
  xthickness                    = 0
  ythickness                    = 0
  bg_pixmap[NORMAL]             = "panel-bg.png"
  fg[NORMAL]                    = "#ffffff"
  fg[PRELIGHT]          = "#ffffff"
  fg[ACTIVE]                    = "#555555"
  fg[SELECTED]          = "#555555"

style "theme-menubar"
  xthickness                    = 0
  ythickness                    = 0
  #bg[NORMAL] = "#000000"
  bg_pixmap[NORMAL]             = "panel-bg.png"
  fg[NORMAL]                    = "#ffffff"
  fg[PRELIGHT]          = "#ffffff"
  fg[ACTIVE]                    = "#555555"
  fg[SELECTED]          = "#555555"
        engine "pixmap"
                        function        = BOX
                        state = NORMAL
                        file            = "panel-bg.png"
                        border  = { 0, 0, 0, 0 }
                        stretch = TRUE

class "GtkMenuBar" style "theme-menubar"

# panel styles
#class "*Panel*" style "panelbg"
widget "*PanelApplet*" style "panelbg"
class "*notif*" style "panelbg"
class "*Notif*" style "panelbg"
class "*Tray*" style "panelbg"
class "*tray*" style "panelbg"
class "*Netstatus*" style "panelbg"
class "*netstatus*" style "panelbg"
class "*Deskbar*" style "panelbg"
class "*deskbar*" style "panelbg"

I saved the panel-bg.png image in the same directory as the gtkrc file, and also used this png as panel background image (right click on the panel, choose properties, then background tab where you specify the background image location).


The menubar can be set clear, and remain certified to the panel, using Compiz-Fusion (I hope it and others features will be possible also the new Metacity..) and appropriate parameters (in General Options> Opacity Settings-> add (dock) &! (class = Avant-window-navigator) and the value of transparency you want).

The problem is to use a theme that checks the same color to the panel and bg_color windows (or pass an appropriate parameter in the "menubar-theme" and use an image for the panel).

Uninstall instructions


For the apt-built method

If you have used the apt-build method to install the patched gtk do this to uninstall : 1. Go to menu system > administration > software sources. Pick the “third party software” tab, and uncheck apt-build repository.

2. Then in a terminal type in:

  • Code:

          sudo apt-get clean && sudo apt-get update && sudo apt-get install --reinstall -y libgtk2.0-0 

3. Logout / in gnome to apply changes.

For all methods

Because Mac-Applet-Menu is hacked, the way to uninstall it has a trick.

Open Gedit and paste this : export GTK_MENUBAR_NO_MAC=1

Name the text file .gnomerc and save it in your home folder (/home//). Logout ,relogin and the hack should be disabled.

If you want to completely remove it, fire up synaptic and search for libgtk2.0-0. Highlight it and go to menu -> packages -> force version , select the version that ends with the stable release of the ubuntu version you're running (eg: edgy, feisty, gutsy) , press ok and then apply in synaptic.

latests patches/sources/packages:

Mac menu applet: (rainwoodman version - new) (Aqd version - old)

gtk2 spec file for fedora 8 (rainwoodman version - new)

gtkMenuBar Patch:


Patch against 2.12.1 (removing annoying underlines):

Links related to the second method:

Anchor(one) 1 Mac menu applet deb package (gusty gibbon 32bits):

Anchor(two) 2 099_mac_menubar.patch.gz:

Anchor(three) 3 098_no_label_underline.patch:

Other resources :



Futher developement

As it is now, the global menubar is only hack. To get it included into GTK+, quite some changes will be necessary. GTK+ developers have stated that they will not include the patch in it's current form.

A rewrite would probably also include patches made for Gtk+ for OSX from Imendio.

The patch is under review by Google Highly Open Participation:

Last infos (2008-01-29) from rainwoodman : BR I was planning to write a guide for 'build from scratch' but never manage to collect enough time. There was some building infomation in the Fedora Guide, but might not work. Things have changed a lot, especially the way to patch gtk. Originally I have some auto scripts for patching it on Fedora, but several weeks ago I got rid of them and now you have to manually patch it.BR

Sorry for the inconvenience, but I am writing a bunch of new code. (hopefully) an easier to install and patch version of global menu 'system' will be available in late February, when a build from scratch guide will be ready, and hopefully several binary packages will also be provided for downloading.BR

Also, please seeBR BR for a brief idea about the recent development.

global_menu (last edited 2009-01-13 17:27:53 by 137)