global_menu

Differences between revisions 60 and 61
Revision 60 as of 2008-04-14 18:17:24
Size: 16902
Editor: bzq-79-176-112-105
Comment: added 64bit deb package link
Revision 61 as of 2008-04-14 18:18:20
Size: 16902
Editor: bzq-79-176-112-105
Comment:
Deletions are marked like this. Additions are marked like this.
Line 54: Line 54:
For Ubuntu Hardy, 8.04, compiled from svn 899 [[br]] For Ubuntu Hardy, 8.04, compiled from svn 899 [[BR]]

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 (e.g. firefox) Java swing apps (e.g. 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

New Global menu Project home page (main dev : rainwoodman):BR http://code.google.com/p/gnome2-globalmenu/


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

Anchor(deb)

Packages

For i386

Global Menu devs have uploaded the 0.4 deb package at :BR http://gnome2-globalmenu.googlecode.com/files/gnome-globalmenu-0.4_ubuntu-gusty-svn679.tar.gz

And updated install guideline for Ubuntu Gusty :BR http://code.google.com/p/gnome2-globalmenu/wiki/InstallingonUbuntu

Installation:

Fellow the steps describe in the guide linked above.BR

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:BR http://ubuntuforums.org/showthread.php?t=241868

For AMD64 (64bit computer, intel included)

For Ubuntu Hardy, 8.04, compiled from svn 899 BR http://www.mediafire.com/?n4sz14fiwcj BR kudos goes to ferdil BR


Anchor(ng)

Info to build the lastest Global Menu

Originally Posted by rainwoodman on ubuntuforums.org 2008-01-29, version number and links corrected : 2008-03-05BR

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 http://gnome2-globalmenu.googlecode.com/svn/tags/0.1_11/

The most recent version is 0.4 : BR http://gnome2-globalmenu.googlecode.com/svn/trunk/ BR

Perhaps the documentation in this link will be useful if you want to build this : BR http://code.google.com/p/gnome2-globalmenu/wiki/BuildFromScratch?updated=BuildFromScratch&ts=1204258474 BR

But using the [#deb packages] should be easier.

Look for [#fdi further development infos] BR


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


Anchor(fdi)

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

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 http://code.google.com/p/gnome2-globalmenu/wiki/DevelopmentHome BR for a brief idea about the recent development.

On the inability of KDE apps to use this menu, doesn't KDE already have support for a global menu bar? Wouldn't it be feasible to make some sort of link between the KDE menus and this menu bar?

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