Warning: |
GNOME Goal: Port to GMenu
Since GNOME 3.4, applications have been able to specify their own GMenu (or 'application menu'). In the interests of consistency, all GNOME applications should provide a similar set of items in their application menu.
Guidelines
Each application's app menu should contain an appropriate set of items. This requires that they use GMenu and have been ported to GtkApplication.
Application Menu Design
For simple applications with a small number of menu items, it shouldn't be too hard to port the entire menubar to the app menu (see bug 674529 for an example). If the application has a complex menubar, simply ensure that a small number of key items are moved to the app menu:
New Window --- Preferences --- Help About Quit
If there are a small number of global application options (eg. Connect to Server in the case of Nautilus), they can also be moved to the GMenu. In general, try to avoid overpopulating the menu or disrupting existing menu bar structures.
Feel free to consult your friendly local GNOME designer if you are uncertain about which items to put in the GMenu.
Comments before approval
GNOME was criticised for inconsistent use of GMenus in reviews of the 3.4 release.
Status of this goal
Note: Updated automatical stats can be found at http://people.gnome.org/~fpeters/reports/port-to-gmenu.html |
Tip: If you choose to work on a module, create the bug report on the GNOME bugzilla for the relevant module, and make it block bug 674957. This way people will know someone already works on it, and won't duplicate the work you're doing. |
State |
Markup |
todo |
<: #ff8080> todo |
patch |
<: #ffcc50> [[GnomeBug:xxxxx|patch]] |
done |
<: #80ff80> [[GnomeBug:xxxxx|done]] |
not needed |
<: #80ff80> not needed |
Above are the states and corresponding markup to update the modules state table below.
Tarball |
Status |
core |
|
at-spi2-core |
not needed |
at-spi2-atk |
not needed |
dconf |
not needed |
evolution-data-server |
not needed |
glib-networking |
not needed |
gnome-bluetooth |
not needed |
gnome-online-accounts |
not needed |
gnome-control-center |
|
gnome-desktop |
not needed |
gnome-icon-theme |
not needed |
gnome-icon-theme-extras |
not needed |
gnome-icon-theme-symbolic |
not needed |
gnome-keyring |
not needed |
gnome-menus |
not needed |
gnome-packagekit |
|
gnome-power-manager |
not needed |
gnome-screensaver |
not needed |
gnome-session |
not needed |
gnome-settings-daemon |
not needed |
gnome-shell |
not needed |
gnome-themes-standard |
not needed |
gsettings-desktop-schemas |
not needed |
gvfs |
not needed |
mousetweaks |
not needed |
mutter |
not needed |
network-manager-applet |
not needed |
pulseaudio |
not needed |
telepathy-mission-control |
not needed |
core-utilities |
|
baobab |
|
brasero |
|
empathy |
|
eog |
|
epiphany |
done |
evince |
|
gcalctool |
|
gnome-contacts |
done |
gnome-dictionary |
|
gnome-disk-utility |
done |
gnome-font-viewer |
|
gnome-screenshot |
|
gnome-search-tool |
to do |
gnome-system-log |
done |
gnome-system-monitor |
|
gnome-terminal |
|
gucharmap |
|
nautilus |
|
sushi |
not needed |
yelp |
|
core-extras |
|
gnome-background |
not needed |
gnome-user-share |
not needed |
vino |
not needed |
gnome-user-docs |
not needed |
core-fallback |
|
GConf |
not needed |
gnome-panel |
not needed |
metacity |
not needed |
notification-daemon |
not needed |
core-os-services |
|
accountservice |
not needed |
avahi |
not needed |
not needed |
|
dbus |
not needed |
gdm |
not needed |
not needed |
|
not needed |
|
polkit |
not needed |
upower |
not needed |
core-deps |
|
atk |
not needed |
atkmm |
not needed |
cairo |
not needed |
cairomm |
not needed |
cantarell-fonts |
not needed |
caribou |
not needed |
clutter |
not needed |
clutter-gtk |
not needed |
clutter-gst |
not needed |
cogl |
not needed |
dbus-glib |
not needed |
dbus-python |
not needed |
desktop-file-utils |
not needed |
enchant |
not needed |
expat |
not needed |
farsight2 |
not needed |
folks |
not needed |
fontconfig |
not needed |
gamin |
not needed |
gnome-js-common |
not needed |
gtksourceview |
not needed |
gdk-pixbuf |
not needed |
gjs |
not needed |
glib |
not needed |
glibmm |
not needed |
gmime |
not needed |
gnome-doc-utils |
not needed |
gnome-video-effects |
not needed |
gnutls |
not needed |
gobject-introspection |
not needed |
gst-plugins-base |
not needed |
gst-plugins-good |
not needed |
gst-plugins-farsight |
not needed |
gstreamer |
not needed |
gtk+ |
not needed |
gtk-doc |
not needed |
gtkmm |
not needed |
gudev |
not needed |
hicolor-icon-theme |
not needed |
icon-naming-utils |
not needed |
iso-codes |
not needed |
itstool |
not needed |
intltool |
not needed |
java-gnome |
not needed |
js185 |
not needed |
json-glib |
not needed |
libatasmart |
not needed |
libcanberra |
not needed |
libchamplain |
not needed |
libcroco |
not needed |
libdaemon |
not needed |
libdiscid |
not needed |
libgpg-error |
not needed |
libgcrypt |
not needed |
libgee |
not needed |
libgdata |
not needed |
libgnome-keyring |
not needed |
libgnomekbd |
not needed |
libgsf |
not needed |
libgtop |
not needed |
libgweather |
not needed |
libical |
not needed |
libmusicbrainz |
not needed |
libnice |
not needed |
libnotify |
not needed |
liboauth |
not needed |
libpeas |
not needed |
libproxy |
not needed |
librest |
not needed |
librsvg |
not needed |
libsigc++2 |
not needed |
libsndfile |
not needed |
libsoup |
not needed |
libtasn1 |
not needed |
libwnck |
not needed |
libxklavier |
not needed |
libxml2 |
not needed |
libxslt |
not needed |
mm-common |
not needed |
nspr |
not needed |
nss |
not needed |
p11-kit |
not needed |
pango |
not needed |
pangomm |
not needed |
pixman |
not needed |
polkit-gnome |
not needed |
poppler |
not needed |
py2cairo |
not needed |
pygobject |
not needed |
rarian |
not needed |
seed |
not needed |
shared-mime-info |
not needed |
sound-theme-freedesktop |
not needed |
speex |
not needed |
sqlite3 |
not needed |
startup-notification |
not needed |
telepathy-glib |
not needed |
telepathy-logger |
not needed |
telepathy-farsight |
not needed |
totem-pl-parser |
not needed |
tracker |
not needed |
vala |
not needed |
vte |
not needed |
webkit |
not needed |
yelp-tools |
not needed |
yelp-xsl |
not needed |
zenity |
not needed |
libnl |
not needed |
lcms2 |
not needed |
colord |
not needed |
apps |
|
accerciser |
to do |
aisleriot |
|
anjuta |
|
cheese |
|
devhelp |
|
evolution |
|
file-roller |
done |
gedit |
|
glade |
|
gnome-color-manager |
to do |
gnome-devel-docs |
done |
gnome-documents |
done |
gnome-games |
|
gnome-netttol |
to do |
nautilus-sendto |
not needed |
nemiver |
to do |
orca |
to do |
rygel |
not needed |
seahorse |
|
totem |
done |
vinagre |
to do |
other |
|
almanah |
|
banshee |
to do |
gnome-boxes |
done |
hitori |
|
firefox |
to do |
gimp |
|
gnote |
|
inkscape |
to do |
libre-office |
|
rhythmbox |
|
simple-scan |
|
sound-juicer |
|
thunderbird |
to do |
tomboy |
|
transmission |
|
x-chat-gnome |
to do |