global_menu

Revision 44 as of 2007-12-24 23:18:41

Clear message

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

attachment:globalmenusmallScreenshot.png

Forum thread about the Gnome Global Menu where you can help improve it, package it, find the latest info... BR http://ubuntuforums.org/showthread.php?t=241868 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 http://bugzilla.gnome.org/show_bug.cgi?id=353076 BR


Installation instructions

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

  • you can use [#deb deb packages].
  • you can use the standard [#autotools autotools] (configure/make/make install) method.
  • you can use the [#apt-build apt-build] method (you will build debs).

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

Anchor(deb)

Packages

For i386

http://rapidshare.com/files/70248395/GutsyOSX.tar.bz2.html

Installation:

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:

http://ubuntuforums.org/showthread.php?t=241868

Step 1:

Download the GutsyOSX file above. Extract it to your desktop so you have a GutsyOSX folder on your desktop containing 3 folders.

Step 2:

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

Code:

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 terminal Copy & Paste the following 3 commands:

Code:

sudo dpkg -i ~/Desktop/GutsyOSX/applet/macmenu-applet_0.1-2_i386.deb

sudo dpkg -i ~/Desktop/GutsyOSX/GTK/*.deb

sudo dpkg -i ~/Desktop/GutsyOSX/gnome-panel-no-arrows/*.deb

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: 17.11.2007 - By Hal9000/2, post #1176 supports gnome 2.20.1

For AMD64

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


Anchor(autotools)

Install using autotools

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

-Download this file (note: you must be a member of ubuntuforums.org to be able to download it) http://ubuntuforums.org/attachment.php?attachmentid=47781&d=1193338299

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

Code:

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:

Code:

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 ubuntuforums.org to be able to download it) http://ubuntuforums.org/attachment.php?attachmentid=47782&d=1193338357

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

Code:

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
make
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.


Anchor(apt-build)

Install using apt-build

Install the mac menu applet deb package (note: you must be a member of ubuntuforums.org to be able to download it: http://ubuntuforums.org/attachment.php?attachmentid=47899&d=1193414016) , then in a terminal, type in this to install apt-build

Code:

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).

Code:

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 :

Code:

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)

Code:

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

Code:

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

Code:

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.


Anchor(compile)

Compile it from the source code

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

Install this before

Code:

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

Then unpack the applet source and go in its folder

Code:

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

Then compile and install

Code:

make
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

Anchor(skinning)

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"
        {
                image
                {
                        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).


Uninstall instructions

Anchor(uninstall)

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: http://gnome2-globalmenu.googlecode....hes/1.0/trunk/

Mac menu applet: http://ubuntuforums.org/attachment.php?attachmentid=54026&d=1198381611 (rainwoodman version - new) http://ubuntuforums.org/attachment.php?attachmentid=47781&d=1193338299 (Aqd version - old)

gtk2 spec file for fedora 8 http://ubuntuforums.org/attachment.php?attachmentid=53555&d=1197951405 (rainwoodman version - new)

gtkMenuBar Patch: http://ubuntuforums.org/attachment.php?attachmentid=47782&d=1193338357

gtk2MenuPatch:

http://ubuntuforums.org/attachment.php?attachmentid=48733&d=1193950276

Patch against 2.12.1 (removing annoying underlines):

http://ubuntuforums.org/attachment.php?attachmentid=48738&d=1193954936

Links related to the second method:

Anchor(one) 1 Mac menu applet deb package (gusty gibbon 32bits): http://ubuntuforums.org/attachment.php?attachmentid=47899&d=1193414016

Anchor(two) 2 099_mac_menubar.patch.gz: http://ubuntuforums.org/attachment.php?attachmentid=48015&d=1193500579

Anchor(three) 3 098_no_label_underline.patch: http://ayozone.org/wp-content/uploads/2007/11/098_no_label_underline.patch

Other resources :

.conkyrc:

http://ubuntuforums.org/attachment.php?attachmentid=48019&d=1193501364

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. http://developer.imendio.com/projects/gtk-macosx

The patch is under review by Google Highly Open Participation:

http://code.google.com/p/google-highly-open-participation-gnome/issues/detail?id=75&colspec=ID%20Status%20ClaimedBy%20Summary