global_menu

Differences between revisions 1 and 47 (spanning 46 versions)
Revision 1 as of 2007-11-03 09:53:55
Size: 2359
Editor: bzq-79-182-114-240
Comment:
Revision 47 as of 2008-01-14 03:34:07
Size: 15421
Editor: 211
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
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:
Line 6: Line 44:
Latest patch Information:

mac menu applet:
'''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:
Line 11: Line 53:
{{{
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: {{{
Line 16: Line 104:

gtk+ patch:

Code:
}}}


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: {{{
Line 30: Line 137:

As for dependencies, 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 do before patching gtk+

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

'''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]][[BR]]

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)[[BR]][[BR]]
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 :

    * imetal (http://gnome-look.org/content/show.php/imetal?content=63734)
    * snow leopard (http://gnome-look.org/content/show.php/snow+leopard?content=61924)
    * mac4lin (http://gnome-look.org/content/show.php?content=68411)
    * kougyoku black (http://gnome-look.org/content/show.php/Kougyoku-Black?content=65299)
    * and more kougyoku (make a search on http://gnome-look.org )

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

= Transparency =
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 =
[[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://code.google.com/p/gnome2-globalmenu/source


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

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

Transparency

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

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://code.google.com/p/gnome2-globalmenu/source

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

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