GlobalMenu Application for inclusion as a GNOME module



Dear GNOME maintainers,

This is a proposal on behalf of the GlobalMenu developers for its inclusion either in gnome-applets or as a dependency of GNOME.

GlobalMenu is an applet that lets the user have its application menus displayed in the Panel rather than in the windows. For those who haven't heard about it, think of GNUStep or MacOS as an example. Or you can look at a screenshot to get an idea http://code.google.com/p/gnome2-globalmenu



- Target: proposed for the desktop module set
- Dependencies: No new dependencies are introduced for either compiling the released tarball or the runtime. An up-to-date vala compiler for the developers.
- Resource usage: currently no NOME infrastructure are allocated for the project. Google Code is the main hosting service and Launchpad is used for Ubuntu packaging and translations. We have sent a mail to apply for GNOME resources.
- Adoption in Distributions: none so far (Ubuntu Netbook Remix has shown some interest)



- GNOME-ness & community: The project uses VALA as the main programming language. Various bugs in VALA were discovered and fixed by the Global Menu developers. For the moment the team doesn't strongly need to cooperate with the internationalization, user documentation, accessibility, usability, bugsquad teams (and etc) of the community. The team is always open to such cooperation.

- License : GlobalMenu is currently licensed under the GPLv2+ and LGPLv2+. The documentation and the majority of the code have all been written by team members; therefore the project can be easily re-licensed to meet the GNOME requirements.

- We have a pool of developers, committed doc writers, bug hunters and translators which is an asset to keep deadlines, and to bring innovation, along with quality assurance. We have a good track record, as can be seen throughout our issue tracker and our Ubuntuforums thread. We strive to keep aware of all the evolutions going around, we successfully coordinated with KDE for the spread of the GlobalMenu spec beyond our initial GNOME focus.

- Willingness and ability to follow release rules and release schedule and progress on a regular basis: We have an Italian dev, but we also have a German dev and a Chinese dev. Overall, we have thus time-conscious people ;-)

- Improving overall desktop usability: The document-centric functionalities of Global Menu are available on GNUStep and MacOS, but most importantly we think that it's a very nice addition to the already strong GTK stack that will, playing along GNOME Shell, enable application developers to build upon it. Moreover, it's implemented in a better way than the other globalmenu implementations, listening to user feedback and building upon Gnome's unique features. We have relatively wide compatibility, and we believe adoption in Gnome 2.30/3.0 would enable further adoption and standardisation on the developer side, pushing ISV to provide native GTK interfaces for at least the menus (Firefox, OpenOffice, Java to name a few). This will both push GNOME's interface forward, and push the GTK-toolkit forward.

- Developer attitude: We like to engage with upstream (GNOME for the moment :-), possibly the Freedesktop's project afterwards for standardization) and downstream, as well as our user base. We're very open and our forum thread and our bug tracker testifies that. We have an open development process and we prefer daily commits to large code drops. We engaged with GNOME, we also engaged with XFCE and KDE. We're nice and cool people (really :-)

- GNOME-ness: We use GTK2 and other GNOME2 technologies (VALA, all the standard GNOME guidelines and techniques) and we have a GNOME look and feel. We rewrote the software from ground to bottom to use the state of the art technologies. We of course don't use the obsolete stuff that GNOME 3 aims to get rid of.

- UI: We have no problem engaging with the UI team to make GlobalMenu even better UI-wise. We strive to keep in line with the GNOME look and feel, HIG compliance, a careful choice of default settings, and clean interface design.

- Accessibility: Though we haven't delved into the matter, we're also ready to engage should issues arise.

- Internationalization is already done in the GNOME-compliant fashion. All text is i18n-ized and the app is localized (RTL).

- Use of GNOME resources: While we don't currently use them, we'll be happy to switch should our inclusion be accepted, and we have actually already applied to get GlobalMenu on GNOME's infrastructure.

- Documentation: Documentation already exists in the project wiki, and our code is clear and clean. We're willing either to help the existing docs team on incorporating our current document or to directly join them in this work. We're anyway motivated to make useful documentation available. Nevertheless we will strive to make GlobalMenu as simple as possible while increasing its power. We'll contact soon the GNOME Documentation Team to organize about the matter.

- Relation with GNOME 3.0: As proposed in GNOME 3.0, the Shell features a menu item which provides the access to the application's actions. The idea is good, however most current applications in GNOME do not support this feature. Neither does the GTK toolkit provide the necessary facilities for it. While we need to systematically invent it in GNOME 3.0 (eg, by extending GtkUIBuilder), some kind of legacy support should also be provided. This is where Global Menu becomes relevant to GNOME 3.0. Global Menu already has the code to extract the main menu bar from the applications. Once the global menu plugin for GTK is enabled (and it can be selectively enabled), each GtkWindow instance will carry a special property containing an introspection of its menu bar, and the sub menus. This information can be used to reconstruct a menu in the Shell's application menu item. Global Menu also provides a protocol to sync the selection and activation of menu items.




Thanks a lot for bearing with that long and overly detailed proposal. I look forward to your reviews, comments, suggestions, bashings, etc :-)

Yu and Pierre, on behalf of the whole GlobalMenu team


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]