My favorites | Sign in
Logo
                
New issue | Search
for
| Advanced search | Search tips
Issue 136: OSX integration of GlobalMenu
2 people starred this issue and may be notified of changes. Back to list
Status:  Assigned
Owner:  rainwoodman
Type-Tracker
Milestone-Release0.8
OpSys-OSX


Sign in to add a comment
 
Reported by rainwoodman, Oct 23, 2008
Goal:
Intergration of Global Menu into OSX native menu system.

Desc:

Since litterally every piece of information of the GTK Menu is available to
us in a GMarkupDocument now, it is reasonable to study the possiblity of
writing a differnt View that enable us to view these menus from the OSX
native menu system.

the immedo sync-menu package is a good reference.
A mac is needed.




Comment 1 by e...@rhyhann.net, Oct 23, 2008
My mother has a Mac, I can use her computer for compile purposes.
Comment 2 by rainwoodman, Oct 23, 2008
That's a good news. But merely compiling doesn't solve all problems. Some coding on
Mac really has to be done.

Comment 3 by rainwoodman, Oct 28, 2008
it should be simply a different View of the GMarkup document.
the corresponding gtkmodule should create this view rather than the Gnomenu.Client.

Considering the possibility of this, a rename of the libraries is needed.
Comment 4 by rainwoodman, Oct 28, 2008
Have to find some OSX guru.
Labels: Milestone-Release0.7
Comment 5 by pierre.slamich, Nov 10, 2008
(No comment was entered for this change.)
Labels: OpSys-OSX
Comment 6 by rainwoodman, Dec 18, 2008
Slip
Labels: -Milestone-Release0.7 Milestone-Release0.8
Comment 7 by leif.walsh, Jan 02, 2009
I can do some coding on my lab's macs when I get back from break (late Jan/early
Feb), if nobody gets around to it until then.  I could use an explanation of what
needs to be done and/or a quick run through existing code, if someone wants to help
me with that.
Comment 8 by rainwoodman, Jan 02, 2009
Great.

I am writting some run through of existing code in the wiki page:
GlobalMenuGTKModule. I'll leave a message here when it is done.

there are two possible points to add the osx support:

1: write a new visitor to visit the menu hierarchy in GTK (refer to
globalmenu-serializer.vala), and convert it to OSX calls. (the way sync-menu package
does it)
2: parse the Global Menu XML generated by globalmenu-serializer.vala, and convert it
to OSX calls. A DOM tree is needed to capture changes in xml nodes. With some
abstraction perhaps the OSX menu nodes can simulate a DOM tree, just like how
libgnomenu is simulating a DOM tree with GTK Widgets.

I prefer 2 although it is more difficult; because with 2 if we get Global Menu XML
from other methods(eg, from a QT menu hierarchy, or from natively written Global Menu
applications), that code can be reused.


Comment 9 by rainwoodman, Jan 06, 2009
The wikipage for the plugin has been updated  ( wiki/GlobalMenuGTKModule   )

Let me know if it is unclear.
Comment 10 by pierre.slamich, Jan 16, 2009
(No comment was entered for this change.)
Summary: OSX integration of GlobalMenu
Comment 11 by rainwoodman, Jan 18, 2009
I've imported the ige-mac-menu code to gtkmodules/macmenu as a reference.

Comment 12 by rainwoodman, Jan 18, 2009
Link to the new Cococa Menu API reference:
http://developer.apple.com/documentation/Cocoa/Conceptual/MenuList/MenuList.html
Comment 14 by pierre.slamich, Apr 13, 2009
wouldn't a look at how Firefox got GlobalMenus in OS X be worthwhile ?
It probably already has some structure for a GTK equivalent solution.

Comment 15 by craftjml, Sep 27, 2009
Also, remember the MonoDevelop guys have made their own improvements to GTK (to let
MonoDevelop fit into OSX).  Maybe they've already got the OS-X menu code part done.
Sign in to add a comment

Hosted by Google Code