Commits (436)
......@@ -10,3 +10,5 @@ Jonh Wendell
William Jon McCann
Larry Ewing
Roy Marples
Federico Mena-Quintero
Magnus Boman
=== ChangeLog discontinued ===
With the move to Git, gnome-main-menu is switching from a ChangeLog file
to relying on commit messages to provide change history.
2009-01-26 Magnus Boman <captain.magnus@gmail.com>
* application-browser/etc/application-browser.desktop.in.in:
- Remove X-SuSE-translate from application-browser desktop file
Patch by Vincent Untz
2009-01-07 Magnus Boman <captain.magnus@gmail.com>
reviewed by: Magnus Boman
* application-browser/src/application-browser.c:
* main-menu/src/eggaccelerators.h:
* main-menu/src/hard-drive-status-tile.c
* main-menu/src/main-menu-ui.c (main_menu_ui_finalize),
(create_panel_button), (panel_applet_change_background_cb):
* main-menu/src/main-menu.c:
* main-menu/src/tomboykeybinder.c:
* nautilus-main-menu/nautilus-main-menu.c (get_menu_file_info),
- Use single GTK inclues - Fix bgo#551850#c2
Patch by Cosimo Cecchi
- Compile with G*_DISABLE_DEPRECATED - Fixes bgo#551850#c3
Patch by Cosimo Cecchi
- Directly include libgnomeui.h to build against new gnome-panel
2009-01-06 Scott Reeves <sreeves@novell.com>
* configure.in: post release bump to 0.9.13
==================== 0.9.12 ====================
2009-01-06 Scott Reeves <sreeves@novell.com>
* main-menu/src/network-status-agent.c:
Fix for BGO#562985 - network status not shown on resume
2009-01-02 Scott Reeves <sreeves@novell.com>
* libslab/gnome-utils.c
* libslab/directory-tile.c
* libslab/document-tile.c:
Fix g_object_unref G_IS_OBJECT assertions.
2008-12-31 Scott Reeves <sreeves@novell.com>
* main-menu/etc/gnome-screensaver-lock.desktop
* main-menu/etc/gnome-session-logout.desktop
* main-menu/etc/trigger-panel-run-dialog.desktop
* main-menu/etc/gnome-session-shutdown.desktop:
Clean up .desktop files - BNC#444138
2008-12-31 Scott Reeves <sreeves@novell.com>
* main-menu/src/main-menu-ui.c
* main-menu/src/main-menu-migration.c
* main-menu/src/main-menu-migration.h
* main-menu/src/main-menu.c
* main-menu/etc/gnome-screensaver-lock.desktop
* main-menu/etc/gnome-session-kill.desktop
* main-menu/etc/system-items.xbel
* main-menu/etc/system-items.xbel.in
* main-menu/etc/gnome-session-logout.desktop
* main-menu/etc/gnome-session-shutdown.desktop
* main-menu/etc/Makefile.am
* libslab/bookmark-agent.c
* po/POTFILES.in:
Fix BNC#447550 - translations not updating when changing locale
Fix up the entire flow of how the system-items.xbel is handled
Title is now marked for translation directly in the .xbel file
Clean up old corrupted local system-items.xbel files and provide
a new updated default one.
2008-12-29 Scott Reeves <sreeves@novell.com>
* main-menu/src/network-status-tile.c
* main-menu/etc/slab.schemas.in.in
* libslab/slab-gnome-util.h:
Fix NetworkManager status display - BNC#436718
2008-12-29 Scott Reeves <sreeves@novell.com>
* main-menu/src/trigger-panel-run-dialog.c
* main-menu/src/Makefile.am
* main-menu/etc/trigger-panel-run-dialog.desktop
* main-menu/etc/Makefile.am:
Add a trivial launcher of the panel "Run Application" dialog for
optional inclusion in the system area
2008-12-29 Scott Reeves <sreeves@novell.com>
* main-menu/src/network-status-agent.c:
Patch from Tambet to match the NetworkManager API change
2008-11-06 Kjartan Maraas <kmaraas@gnome.org>
* configure.in: Add libgnomeui to LIBSLAB_CFLAGS to make it build.
2008-10-27 Federico Mena Quintero <federico@novell.com>
* main-menu/src/main-menu-ui.c
(setup_recently_used_store_monitor): Free the path.
(setup_recently_used_store_monitor): Unref the file.
* main-menu/src/tile-table.c (TileTablePrivate): Add an
icon_size_group field.
(tile_table_reload): Remember the size group we use for icons,
instead of creating it (and leaking it) every time.
(finalize): Free the icon_size_group.
2008-09-12 Scott Reeves <sreeves@novell.com>
* configure.in: post release bump to 0.9.12
==================== 0.9.11 ====================
2008-09-12 Scott Reeves <sreeves@novell.com>
* po/POTFILES.in: Fix distcheck - remove deleted files
2008-09-07 Cosimo Cecchi <cosimoc@gnome.org>
* configure.in: require GLib 2.16.0.
2008-09-07 Cosimo Cecchi <cosimoc@gnome.org>
* main-menu/src/main-menu-ui.c: (main_menu_ui_new),
Call update_recently_used_sections () in an idle when starting
up the program (this was a regression from the GIO porting, as
we were using this very same mechanism before).
2008-08-22 Cosimo Cecchi <cosimoc@gnome.org>
* nautilus-main-menu/main-menu.c:
* nautilus-main-menu/nautilus-main-menu.c:
Leftover from the GIO transition: fix includes in the nautilus
2008-08-22 Cosimo Cecchi <cosimoc@gnome.org>
* configure.in:
* main-menu/src/main-menu-ui.c: (main_menu_ui_new),
(main_menu_ui_finalize), (create_rct_docs_section),
(setup_recently_used_store_monitor), (item_to_recent_doc_tile),
(doc_uri_to_item), (update_recently_used_sections),
Port to GIO and drop gnome-vfs dependency (#527903).
2008-08-11 A. Walton <awalton@gnome.org>
reviewed by: Federico Mena Quintero
* configure.in:
Remove Eel dependency from libslab. Bug #524778.
2008-07-28 Cosimo Cecchi <cosimoc@gnome.org>
reviewed by Vincent Untz and Tambet Ingo.
* main-menu/src/network-status-agent.c: (nm_get_device_info):
Some more NetworkManager 0.7 API breakage.
2008-07-24 Cosimo Cecchi <cosimoc@gnome.org>
* main-menu/src/network-status-agent.c: (nm_get_device_info):
Fix the build against NetworkManager 0.7 trunk.
2008-07-16 Scott Reeves <sreeves@novell.com>
* main-menu/src/main-menu-ui.c
* libslab/directory-tile.c
* libslab/bookmark-agent.c
* libslab/directory-tile.h
* libslab/document-tile.c:
Patch from CRivera - Fix for BNC#390400 - make places use mime type handler.
2008-07-02 Magnus Boman <captain.magnus@gmail.com>
* main-menu/src/network-status-tile.c
* main-menu/src/network-status-agent.c
Add support for GSM and CDMA devices in the Network Status tile
2008-06-30 Scott Reeves <sreeves@novell.com>
* main-menu/src/main-menu-ui.c:
Fix for BNC#393101 - check title for null
2008-06-25 Magnus Boman <captain.magnus@gmail.com>
https://bugzilla.novell.com/show_bug.cgi?id=262334 - When
using wireless/ifup, g-m-m shows the connection as wired.
* main-menu/src/network-status-agent.c (gtop_get_first_active_device_info):
Make sure that we only use a device that has got an ip address.
2008-06-13 Federico Mena Quintero <federico@novell.com>
https://bugzilla.novell.com/show_bug.cgi?id=336735 - On
multiscreen setups, the slab window may appear ona the wrong
* main-menu/src/main-menu-ui.c (present_slab_window): Set the
screen of the slab_window to the same screen as the one for the
applet widget.
2008-05-13 Scott Reeves <sreeves@novell.com>
* configure.in: post release bump to 0.9.11
==================== 0.9.10 ====================
2008-05-09 Magnus Boman <captain.magnus@gmail.com>
Display active ap instead of the first ap in the list.
* main-menu/src/network-status-agent.c (nm_get_device_info):
Make sure we show ssid from an active ap by using
2008-05-13 Scott Reeves <sreeves@novell.com>
* main-menu/etc/applications.xbel:
Fix for BNC#388785 - use banshee-1 as favorite.
2008-05-09 Magnus Boman <captain.magnus@gmail.com>
Add notification for NM state even if there's no active interface.
* main-menu/src/network-status-agent.c (nm_get_first_active_device_info):
Add state change notification callbacks for interfaces until we
find an active device.
2008-05-13 Scott Reeves <sreeves@novell.com>
* main-menu/src/main-menu-ui.c
* libslab/bookmark-agent.c
* libslab/document-tile.c
* libslab/document-tile.h:
Show icon when thumbnail is blank - BNC#381617, BNC#373783
2008-05-13 Scott Reeves <sreeves@novell.com>
* main-menu/src/network-status-agent.c (nm_get_device_info):
Finish the fix for NM API breakage. (remove old calls)
2008-05-12 Tambet Ingo <tambet@gmail.com>
* main-menu/src/network-status-agent.c (nm_get_device_info):
Fix another NetworkManager API breakage.
2008-05-07 Magnus Boman <captain.magnus@gmail.com>
https://bugzilla.novell.com/show_bug.cgi?id=262334 -
Show the correct status in the network status tile even if
NetworkManager is not running.
* main-menu/src/main-menu-ui.c (create_status_section): Remember
our network_status widget in the MainMenuUIPrivate.
(present_slab_window): Update the network tile.
* main-menu/src/network-status-tile.c (network_tile_update_status):
New function.
* main-menu/src/network-status-agent.c (init_nm_connection):
Handle the case where we obtained a NM client object, but NM is
not running.
2008-04-11 Tambet Ingo <tambet@gmail.com>
Adapt the API changes of libnm-glib.
See https://bugzilla.novell.com/show_bug.cgi?id=377019 for the
request to update to this API.
* main-menu/src/network-status-agent.c
(nm_get_first_active_device_info): nm_client_get_devices() now
returns a 'const GPtrArray', update.
(nm_get_device_info): The device properties returned from libnm-glib
have been changed to constants, update.
To allow notifications for all NMObject property changes, the
"state-changed" signal is removed from NMDevice and replaced by a
generic "notify::" signal.
(nm_state_change_cb): Update the signature, ask for the state.
2008-04-10 Federico Mena Quintero <federico@novell.com>
* main-menu/src/network-status-agent.c
(network_status_agent_dispose): NULL out the nm_client, since
::dispose() can be called multiple times.
2008-04-04 Federico Mena Quintero <federico@novell.com>
* main-menu/src/main-menu-ui.c: Monitor the recent-files store on
our own, and update the BookmarkAgents for recent-docs and
recent-apps from a single GBookmarkFile. This prevents each agent
from loading the recent-files on its own.
* main-menu/src/main-menu-ui.c: Don't load the recent-files store
at startup, but do it in an idle. This makes the applet start up
more quickly, and then we can effectively use the idle time
between the applet hitting the main loop initially and the user
activating the Computer menu.
* main-menu/src/main-menu-ui.c: Throttle updates to the
recent-files store if it changes frequently, to avoid CPU churn
when an app updates ~/.recently-used.xbel many times in rapid
* main-menu/src/main-menu.c (main_menu_applet_init): Preinit the
global thumbnail factory here; it will get loaded in an idle
handler after the applet hits the main loop.
2008-04-04 Magnus Boman <captain.magnus@gmail.com>
https://bugzilla.novell.com/show_bug.cgi?id=350662 - Improve
startup time by loading tile tables only once.
* main-menu/src/main-menu-ui.c (apply_lockdown_settings): Reload
the recent-documents table here.
(main_menu_ui_new): Don't call update_limits() here; it gets
called already in apply_lockdown_settings().
* main-menu/src/tile-table.c (tile_table_new): Don't reload the
tile table immediately here.
2008-04-04 Scott Reeves <sreeves@novell.com>
* Update to NetworkManager 0.7 APIs.
2008-03-26 Scott Reeves <sreeves@novell.com>
* main-menu/etc/empty.ods
* main-menu/etc/empty.ots
* main-menu/etc/empty.ott
* main-menu/etc/Makefile.am
* libslab/bookmark-agent.c:
Fix for BNC#366732 - use better template files.
2008-03-05 Scott Reeves <sreeves@novell.com>
* configure.in: post release bump to 0.9.10
==================== 0.9.9 ====================
2008-03-05 Scott Reeves <sreeves@novell.com>
* configure.in
* libslab/Makefile.am
Prep for release - version 0.9.9.
Slight change in method for libtool versioning.
2008-02-08 Federico Mena Quintero <federico@novell.com>
* configure.in (libslab_major_version libslab_minor_version
libslab_micro_version libslab_interface_age): New m4 defines so
that we can have proper versioning with libtool. This is copied
from libgnomeui/configure.in.
2008-01-29 Scott Reeves <sreeves@novell.com>
* libslab/bookmark-agent.c:
Fix BNC#349604 Labeled Bookmarks.
Based on patch from Ivan Zlatev.
2008-01-25 Scott Reeves <sreeves@novell.com>
* configure.in
* libslab/document-tile.c
* libslab/libslab.pc.in:
Patch from Andreas Hanke for BNC#258361 - dependencies
Patch from JPR for BNC#236463 - better date info
2008-01-25 Scott Reeves <sreeves@novell.com>
* main-menu/src/main-menu-ui.c
* main-menu/src/hard-drive-status-tile.c:
Patch from Magnus Boman and Federico Mena Quintero for
BNC#332418 and BNC#152846 (show correct free space and
title for hard drive tile ).
2008-01-09 Scott Reeves <sreeves@novell.com>
* configure.in
Patch from Christian Persch for bgo #394815
2007-12-21 Scott Reeves <sreeves@novell.com>
* configure.in:
bump rev
2007-12-21 Scott Reeves <sreeves@novell.com>
* configure.in
* main-menu/src/hard-drive-status-tile.c
* main-menu/src/main-menu-ui.c
* main-menu/src/network-status-agent.c
* libslab/application-tile.c
* libslab/slab-gnome-util.c
* libslab/libslab-utils.c
* libslab/directory-tile.c
* libslab/bookmark-agent.c
* libslab/document-tile.c:
Merge in changes (rev 353-361) from openSUSE10.3 branch
2007-11-28 Scott Reeves <sreeves@novell.com>
* libslab/app-shell-startup.c
* libslab/app-shell.c:
Patch from Magnus Boman for double draw on show - BNC#283186
2007-11-05 Scott Reeves <sreeves@novell.com>
* main-menu/src/main-menu-ui.c:
Don't show lock screen option when logged in as root - BNC136622
2007-10-14 Yannig Marchegay <yannig@marchegay.org>
* configure.in: Added 'oc' to ALL_LINGUAS.
2007-07-20 Raivis Dejus <orvils@gmail.com>
* configure.in: Added Latvian Translation.
Jim Krehl
E-mail: jimmyk@novell.com
Userid: jimmyk
Stefano Karapetsas
E-mail: stefano@karapetsas.com
Userid: stefanok
Scott Reeves
E-mail: sreeves@novell.com
Userid: sreeves
Julian Andres Klode
E-mail: jak@debian.org
Userid: jak
libslab \
application-browser/etc \
application-browser/src \
main-menu/etc \
main-menu/src \
patch \
autogen.sh \
intltool-extract.in \
intltool-merge.in \
Version 1.8.0
* Migration to MATE Desktop (mate-panel and caja)
* Use DBUS instead of bonobo
* Use GSettings instead of gconf
Version 0.9.16
* Use gtk_widget_get_visible(), require GTK+ 2.18 (Julian Andres Klode)
* Fix typos in schema (Vincent Untz, Bug #620269)
* Check for libxml-2.0 (Vincent Untz, Bug #620201)
* Fix use of nautilus-sendto (Vincent Untz, Bug #647263)
* Use tracker-needle instead of tracker-search-tool (Atri Bhattacharya)
* Name the main menu button widgets (Vincent Untz, Bug #642956)
* Use firefox.desktop instead of MozillaFirefox.desktop (Vincent Untz)
* Create bzip2 tarballs (Vincent Untz)
* Andika Triwidada (id)
* Djavan Fagundes, Mateus Zenaide (pt_BR)
* Fran Diéguez <fran.dieguez@mabishu.com> (gl)
* Yaron Shahrabani (he)
* Jorge González (es)
* Mario Blättermann (de)
* Andrej Žnidaršič (sl)
* Aron Xu (zh_CN)
* Marek Černocký (cs)
* Bruno Brouard (fr)
* Gabor Kelemen (hu)
* Inaki Larranaga Murgoitio (eu)
* Daniel Nylander (sv)
* Piotr Drąg (pl)
Version 0.9.15
* Replace libglade with gtkbuilder (Robert Ancell, Julian Andres Klode)
* Change default search tool to tracker-search-tool (Julian Andres
* Drop usage of libgnome-2.0 and libgnomeui-2.0 (Julian Andres Klode)
* Remove libglade, hal, dbus-glib, libgnome and libgnomeui dependencies
(Julian Andres Klode)
* Allow building without NetworkManager and iwlib (Petr Salinger,
Julian Andres Klode)
Version 0.9.14
* Let one clear the recent-documents list (David Liang)
* Defer loading of the glade file for faster login (Michael Meeks)
* Link to libm (Vincent Untz)
* Fix build with NetworkManager 0.8 (Vincent Untz)
* Don't mark icon name as translatable (Vincent Untz)
* Do not add Application category to desktop file we create (Vincent
* Use XDG user directory instead of hardcoding $HOME/Documents (Julian
Andres Klode)
* Plug leak (Vincent Untz)
* Link against libnm-util and x11 to fix builds with GNU gold (Julian
Andres Klode)
* Use @BINDIR@/trigger-panel-run-dialog in its desktop file (Julian
Andres Klode)
* Mark keys translatable in trigger-panel-run-dialog.desktop (Vincent
* Add a category to the applet .server file (Julian Andres Klode)
* Do not pass --browser to nautilus (Christopher James Halse Rogers)
* Make the main-menu fit in small monitors (Federico Mena Quintero)
* Install nautilus extension in the right directory (Vincent)
* Runa Bhattacharjee (bn_IN)
* Denis Arnaud (br)
* Adrian Guniš (cs)
* Joe Hansen (da)
* Mario Blättermann (de)
* Bruce Cowan (en_GB)
* Jorge González (es)
* Iñaki Larrañaga Murgoitio (eu)
* Claude Paroz (fr)
* Gabor Kelemen (hu)
* Shankar Prasad (kn)
* Gintautas Miliauskas (lt)
* Kjartan Maraas (nb)
* Nils-Christoph Fiedler (nds)
* Piotr Drąg (pl)
* Og Maciel (pt_BR)
* Andrej Žnidaršič (sl)
* Daniel Nylander (sv)
* I. Felix (ta)
* Tao Wei (zh_CN)
Version 0.9.13
* Magnus Boman is now co-maintainer of gnome-main-menu.
* Update to build with the latest GNOME stack (Magnus Boman,
Cosimo Cecchi, Kyle Pelton, Scott Reeves)
* Remove the statically built libslab, and use the standalone
version of libslab (Cosimo Cecchi)
* Use libunique's single-instance application functionality
instead of Bonobo's (Cosimo Cecchi, Vincent Untz)
* Amitakhya Phukan (as)
* Runa Bhattacharjee (bn_IN)
* Adrian Guniš (cs)
* Jen Ockwell (en_GB)
* Jorge González (es)
* Inaki Larranaga Murgoitio (eu)
* Robert-André Mauchin, Claude Paroz (fr)
* Fran Dieguez (gl)
* Sweta Kothari (gu)
* Yaron Shahrabani (he)
* Shankar Prasad (kn)
* Peter Ani (ml)
* Sandeep Shedmake (mr)
* Kjartan Maraas (nb)
* Manoj Kumar Giri (or)
* Daniel Nylander (sv)
* I. Felix (ta)
* Krishna Babu K (te)
Version 0.9.12
Released: 2009-01-06
* Features / Fixes
- Fix for BGO#562985 - network status not shown on resume (Scott Reeves)
- Clean up .desktop files - BNC#444138 (Scott Reeves)
- Fix BNC#447550 - translations not updating when changing locale (Scott Reeves)
- Fix NetworkManager status display - BNC#436718 (Scott Reeves)
- Add a trivial launcher of the panel "Run Application" dialog for
optional inclusion in the system area (Scott Reeves)
- Match the NetworkManager API change (Tambet Ingo)
- Add libgnomeui to LIBSLAB_CFLAGS to make it build. (Kjartan Maraas)
- Memory leaks fixes (Federico Mena Quintero)
- Use the new GtkTooltip mechanism (Federico Mena Quintero)
- show remote docs - use gio for tooltip, show icon (Scott Reeves)
* Translations
- Og Maciel Updated Brazilian Portuguese translation by Vladimir Melo.
- Claude Paroz Added Wallon translation on behalf of Jean Cayron.
- Mario Blättermann de.po: Updated German Translation
- Jorge Gonzalez es.po: Updated Spanish translation
- Daniel Nylander sv.po: Updated Swedish translation.
- Gabor Kelemen hu.po: Translation updated.
- Mario Blättermann de.po: Updated German Translation
- Luca Ferretti it.po: Updated Italian translation by Gianvito Cavasoli.
- Gan Luzh _CN.po: Update for trunk
- Petr Kovar cs.po: Updated Czech translation by Adrian Gunis
- Wadim Dziedzic pl.po: Updated Polish translation
- Theppitak Karoonboonyanan th.po: Added Thai translation by Manatsawin Hanmongkolchai.
- Timo Jyrinki fi.po: Updated Finnish translation, sync with openSUSE
- Djihed Afifi ar.po: Updated Arabic Translation by Abdulaziz AlSharif.
- Ilkka Tuohela fi.po: Updated Finnish translation.
Version 0.9.11
Released: 2008-09-12
* Features / Fixes
- Port to GIO (Cosimo Cecchi)
- Remove Eel dependency (A. Walton)
- Build against latest NetworkManager (Cosimo Cecchi)
- Make places use mime type handler (CRivera, Scott Reeves)
- Support for GSM and CDMA devices (Magnus Boman)
- Bugfix - Check title for null. BNC#393101 (Scott Reeves)
- Multiscreen work (Federico Mena Quintero)
- Remove thumbnailing (Federico Mena Quintero)
- Escape markup text properly (Denis Washington)
* Translations
- Inaki Larranaga Murgoitio eu.po: Added Basque translation.
- Djihed Afifi ar.po: Updated Arabic Translation by Abdulaziz AlSharif.
- Daniel Nylander sv.po: Updated Swedish translation.
- Jonh Wendell pt_BR.po: Updated Brazilian Portuguese translation by Michel Recondo.
- Petr Kovar cs.po: Updated Czech translation by Adrian Gunis
- Jorge Gonzalez es.po: Updated Spanish translation
- Yannig Marchegay oc.po: Updated Occitan translation.
- Jonh Wendell pt_BR.po: Updated Brazilian Portuguese translation by Fábio Nogueira.
- Daniel Nylander sv.po: Updated Swedish translation.
- Claude Paroz fr.po: Updated French translation.
- Clytie Siddall vi.po: Updated Vietnamese translation.
- Yair Hershkovitz he.po: Updated Hebrew translation by Mark Krapivner.
Version 0.9.10
Released: 2008-05-13
* Features / Fixes
- Startup performance improvements (Federico Mena Quintero, Magnus Boman)
- Update to NetworkManager 0.7 (Scott Reeves)
- Update to match NM 0.7 API changes (Federico Mena Quintero, Tambet Ingo, Scott Reeves)
- Better network notification and status handling (Magnus Boman)
- Use banshee-1 in main-menu (Scott Reeves)
- New document templates (Scott Reeves)
- Fix crash when 2 main-menu applets (Federico Mena Quintero)
- Fix missing translations.
- Makefile work (Rodrigo Moya)
- Dont display Name and GenericName if they are the same (Federico Mena Quintero, Magnus Boman)
* Translations
- Petr Kovar - Updated Czech translation by Adrian Gunis
- Jorge Gonzalez - Updated Spanish translation
- Gabor Kelemen - hu.po: Translation updated
- Kostas Papadimas - Updated Greek translation by Giannis Katsampiris.
- Gil Forcada - Updated Catalan translation by Joan Duran.
- Philip Withnall - Updated British English translation.
Version 0.9.9
Released: 2008-03-05
* Initial public upstream release.
The gnome-main-menu consists mainly of three utilities. A gnome-panel applet
that is the main interface providing access to your favorite and recently
used applications, documents and places. Also access to system status and
common actions such as searching and logout / shutdown.
Access to other applications is made via the application-browser – providing
interactive searching of the entire list of your applications, ordered for
display by their menu categories.
These higher level components as well as the shell in the gnome-control-center
all use the common pieces provided by the libslab library
General Info
The gnome-main-menu is a set of three utilities. A gnome-panel applet similar
to the traditional main-menu but a few addtions and changes. In particular the
gnome-main-menu does not provide direct access to all the applications on the
system, but rather displays user specified "favorites" and recently launched
applications [1].
Access to all the applications is made through the second of the three
utilities, the application-browser, which is a larger format application than
that the traditional main-menu which is managed by the window manager to allow
for resizing, etc.
The final utility is the gnome-control-center which is laid out exactly as the
application-browser, but providing access to all the system's configuration
Both the application-browser and the gnome-control-center are accessible
The 'gnome-main-menu' is a set of three utilities, a mate-panel applet
similar to the traditional main-menu, but with a few additions:
* it does not provide direct access to all the applications on the
system, but rather displays user specified 'favorites' and recent
launched applications[1].
* access to all the applications is made through the application
browser, a larger format application than main-menu managed by the
window manager to allow resizing, etc.
* the final utility is gnome-control-center which is laid out exactly
as the application browser, but providing access to all the system
configuration utilties.
Both the application-browser and the gnome-control-center are accesible
directly from the main-menu.
As from 28th November 2012 this component is maintained for usage with
the MATE Desktop, see http://www.mate-desktop.org.
A standard combination of ...
To build gnome-main-menu this should suffice:
./configure --prefix=<install_dir>
make install
should suffice.
*Note* As for the "recently used applications" functionality, this requires
patched versions of gnome-desktop and gnome-panel. These patches are available
in the patch subdir.
After installing a "Gnome Main Menu" applet should appear in your "Add to panel
..." dialog.
After installing a "Gnome Main Menu" applet should appear in your "Add
to panel ..." dialog.
This project can be found in gnome svn under the module named "gnome-main-menu". To
access this see: http://developer.gnome.org/tools/cvs.html. Feel free to send
any patches to anyone in the MAINTAINERS file.
Any bugs found with this project can be filed at http://bugzilla.novell.com.
Or, feel free to contact anyone in the MAINTAINERS file with your report.
This project can be found in GNOME git as 'gnome-main-menu' module. To
access this see: http://git.gnome.org/browse/gnome-main-menu
Fee free to send any patches to anyone in the MAINTAINERS file. Any bug
found with this project can be filled at http://bugzilla.gnome.org. Or
feel free to contact anyone in the MAINTAINERS file with your report.
[1] See the *Note* in the "Installing" section.
[1] - See the *Note* in the Installing section.
......@@ -2,20 +2,18 @@ desktopdir = $(datadir)/applications
desktop_DATA = application-browser.desktop
schemasdir = @GCONF_SCHEMA_FILE_DIR@
schemas_DATA = application-browser.schemas
gsettings_SCHEMAS = org.mate.gnome-main-menu.application-browser.gschema.xml
%.gschema.xml.in: %.gschema.xml.in.in Makefile
$(AM_V_GEN) $(SED) -e 's^\@GETTEXT_PACKAGE\@^$(GETTEXT_PACKAGE)^g' < $< > $@
$(desktop_DATA).in: $(desktop_DATA).in.in
sed -e "s|\@BINDIR\@|$(bindir)|" $< > $@
if test -z "$(DESTDIR)" ; then \
for p in $(schemas_DATA) ; do \
done \
man_MANS = application-browser.1
EXTRA_DIST = $(desktop_DATA).in.in $(schemas_DATA).in
EXTRA_DIST = $(desktop_DATA).in.in $(gsettings_SCHEMAS).in.in $(man_MANS)
CLEANFILES = $(desktop_DATA) $(schemas_DATA) $(desktop_DATA).in
CLEANFILES = $(desktop_DATA) $(gsettings_SCHEMAS) $(desktop_DATA).in $(gsettings_SCHEMAS).in
.TH "application-browser" "1"
application-browser \(em browse installed applications
\fBapplication-browser\fR [\fB\-\-hide\fP] [\fB\-\-help\fP]
\fBapplication-browser\fR allows you to browse installed applications. It
highlights the new applications in the beginning of the list.
.IP "\fB\-\-hide\fP" 10
Hide on start (useful to preload the shell)
.IP "\fB\-\-help\fP" 10
Display help
This manual page was written by Stefano Karapetsas <stefano@karapetsas.com>
[Desktop Entry]
_Name=Application Browser
<locale name="C">
<short>Filename of existing .desktop files</short>
<long>Filename of existing .desktop files</long>
<locale name="C">
<short>Max number of New Applications</short>
<long>The maximum number of applications that will be displayed in the New Applications category</long>
<locale name="C">
<short>Exit shell on start action performed</short>
<long>Indicates whether to close the shell when a start action is performed</long>
<locale name="C">
<short>Exit shell on help action performed</short>
<long>Indicates whether to close the shell when a help action is performed</long>
<locale name="C">
<short>Exit shell on add or remove action performed</short>
<long>Indicates whether to close the shell when an add or remove action is performed</long>
<locale name="C">
<short>Exit shell on upgrade or uninstall action performed</short>
<long>Indicates whether to close the shell when an upgrade or uninstall action is performed</long>
<?xml version="1.0"?>
<schemalist gettext-domain="@GETTEXT_PACKAGE@">
<schema id="org.mate.gnome-main-menu.application-browser" path="/org/mate/gnome-main-menu/application-browser/">
<key name="new-apps-file-key" type="s">
<_summary>Filename of existing .desktop files</_summary>
<_description>Filename of existing .desktop files</_description>
<key name="new-apps-max-items" type="i">
<_summary>Max number of New Applications</_summary>
<_description>The maximum number of applications that will be displayed in the New Applications category</_description>
<key name="exit-shell-on-action-start" type="b">
<_summary>Exit shell on start action performed</_summary>
<_description>Indicates whether to close the shell when a start action is performed</_description>
<key name="exit-shell-on-action-help" type="b">
<_summary>Exit shell on help action performed</_summary>
<_description>Indicates whether to close the shell when a help action is performed</_description>
<key name="exit-shell-on-action-add-remove" type="b">
<_summary>Exit shell on add or remove action performed</_summary>
<_description>Indicates whether to close the shell when an add or remove action is performed</_description>
<key name="exit-shell-on-action-upgrade-uninstall" type="b">
<_summary>Exit shell on upgrade or uninstall action performed</_summary>
<_description>Indicates whether to close the shell when an upgrade or uninstall action is performed</_description>
-DGNOMELOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-I$(top_srcdir)/libslab \
bin_PROGRAMS = application-browser
......@@ -9,8 +9,4 @@ application_browser_SOURCES = \
application_browser_LDADD = \
......@@ -23,32 +23,46 @@
#include <string.h>
#include <gtk/gtk.h>
#include <gtk/gtkhbox.h>
#include <gtk/gtklabel.h>
#include <gtk/gtkimage.h>
#include <gtk/gtkvbox.h>
#include <gtk/gtktable.h>
#include <gtk/gtkbutton.h>
#include <gtk/gtktogglebutton.h>
#include <gtk/gtkentry.h>
#include <panel-applet.h>
#include <libgnome/gnome-desktop-item.h>
#include <libgnomeui/libgnomeui.h>
#include <dirent.h>
#include "app-shell.h"
#include "app-shell-startup.h"
#include "slab-gnome-util.h"
#define APPLICATION_BROWSER_PREFIX "/desktop/gnome/applications/main-menu/ab_"
#include <unique/unique.h>
#include <stdlib.h>
#include <glib/gi18n.h>
#include <gio/gio.h>
#include <libslab/slab.h>
#define APPLICATION_BROWSER_SCHEMA "org.mate.gnome-main-menu.application-browser"
#define NEW_APPS_MAX_ITEMS "new-apps-max-items"
static UniqueResponse
unique_app_message_cb (UniqueApp *app, gint command, UniqueMessageData *data,
guint time, gpointer user_data)
AppShellData *app_data = user_data;
if (command != UNIQUE_ACTIVATE)
/* move the main window to the screen that sent us the command */
gtk_window_set_screen (GTK_WINDOW (app_data->main_app),
unique_message_data_get_screen (data));
if (!app_data->main_app_window_shown_once)
show_shell (app_data);
gtk_window_present_with_time (GTK_WINDOW (app_data->main_app), time);
gtk_widget_grab_focus (SLAB_SECTION (app_data->filter_section)->contents);
main (int argc, char *argv[])
BonoboApplication *bonobo_app = NULL;
UniqueApp *unique_app = NULL;
gboolean hidden = FALSE;
gchar * startup_id;
GError *error;
GOptionEntry options[] = {
{ "hide", 0, 0, G_OPTION_ARG_NONE, &hidden, N_("Hide on start (useful to preload the shell)"), NULL },
{ NULL }
......@@ -56,46 +70,44 @@ main (int argc, char *argv[])
textdomain (GETTEXT_PACKAGE);
if (argc > 1)
if (argc != 2 || strcmp ("-h", argv[1]))
printf ("Usage - application-browser [-h]\n");
printf ("Options: -h : hide on start\n");
printf ("\tUseful if you want to autostart the application-browser singleton so it can get all it's slow loading done\n");
exit (1);
hidden = TRUE;
error = NULL;
if (!gtk_init_with_args (&argc, &argv,
NULL, options, GETTEXT_PACKAGE, &error)) {
g_printerr ("%s\n", error->message);
g_error_free (error);
return 1;
startup_id = g_strdup (g_getenv (DESKTOP_STARTUP_ID));
gnome_program_init ("Gnome Application Browser", "0.1", LIBGNOMEUI_MODULE,
argc, argv, NULL, NULL);
unique_app = unique_app_new ("org.gnome.MainMenu", NULL);
if (apss_already_running (argc, argv, &bonobo_app, "GNOME-NLD-AppBrowser", startup_id))
if (unique_app_is_running (unique_app))
gdk_notify_startup_complete ();
bonobo_debug_shutdown ();
g_free (startup_id);
exit (1);
unique_app_send_message (unique_app, UNIQUE_ACTIVATE, NULL);
g_object_unref (unique_app);
return 0;
NewAppConfig *config = g_new0 (NewAppConfig, 1);
config->max_items = get_slab_gconf_int (NEW_APPS_MAX_ITEMS);
config->name = _("New Applications");
AppShellData *app_data = appshelldata_new ("applications.menu", config,
//NewAppConfig *config = g_new0 (NewAppConfig, 1);
GSettings *settings = g_settings_new (APPLICATION_BROWSER_SCHEMA);
gint max_items = g_settings_get_int (settings, NEW_APPS_MAX_ITEMS);
g_object_unref (settings);
//config->name = _("New Applications");
AppShellData *app_data = appshelldata_new ("mate-applications.menu",
generate_categories (app_data);
layout_shell (app_data, _("Filter"), _("Groups"), _("Application Actions"), NULL, NULL);
g_signal_connect (bonobo_app, "new-instance", G_CALLBACK (apss_new_instance_cb), app_data);
create_main_window (app_data, "MyApplicationBrowser", _("Application Browser"),
"gnome-fs-client", 940, 600, hidden);
if (bonobo_app)
bonobo_object_unref (bonobo_app);
bonobo_debug_shutdown ();
g_free (startup_id);
unique_app_watch_window (unique_app, GTK_WINDOW (app_data->main_app));
g_signal_connect (unique_app, "message-received", G_CALLBACK (unique_app_message_cb), app_data);
gtk_main ();
g_object_unref (unique_app);
return 0;
......@@ -4,9 +4,9 @@
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
(test -f $srcdir/configure.in \
(test -f $srcdir/configure.ac \
&& test -f $srcdir/autogen.sh) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level $PKG_NAME directory"
......@@ -17,10 +17,10 @@ DIE=0
rm -f .using-gnome-libs-package
if ! which gnome-autogen.sh ; then
echo "You need to install the gnome-common module and make"
echo "sure the gnome-autogen.sh script is in your \$PATH."
if ! which mate-autogen ; then
echo "You need to install the mate-common module and make"
echo "sure the mate-autogen script is in your \$PATH."
exit 1
REQUIRED_AUTOMAKE_VERSION=1.9 . gnome-autogen.sh
-DGNOMELOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-DG_LOG_DOMAIN=\"Caja-Main-Menu\" \
-DDATADIR=\"$(datadir)\" \
-I$(top_srcdir) \
-I$(top_builddir) \
libcaja_main_menu_la_SOURCES = \
caja-main-menu.c \
caja-main-menu.h \
libcaja_main_menu_la_LDFLAGS = -module -avoid-version
libcaja_main_menu_la_LIBADD = $(CAJA_LIBS)
* nautilus-main-menu.c
* caja-main-menu.c
* Copyright (C) 2006 Novell, Inc.
......@@ -25,22 +25,18 @@
#include <config.h>
#include "nautilus-main-menu.h"
#include "caja-main-menu.h"
#include <libnautilus-extension/nautilus-menu-provider.h>
#include <libcaja-extension/caja-menu-provider.h>
#include <glib/gi18n-lib.h>
#include <gtk/gtkicontheme.h>
#include <gtk/gtkwidget.h>
#include <gtk/gtkmain.h>
#include <gconf/gconf-client.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <gtk/gtk.h>
#include <string.h> /* for strcmp */
#include <unistd.h> /* for chdir */
static void nautilus_main_menu_instance_init (NautilusMainMenu *cvs);
static void nautilus_main_menu_class_init (NautilusMainMenuClass *class);
static void caja_main_menu_instance_init (CajaMainMenu *cvs);
static void caja_main_menu_class_init (CajaMainMenuClass *class);
static GType menu_type = 0;
......@@ -58,15 +54,14 @@ static const char * const document_blacklist [] =
static MenuFileInfo
get_menu_file_info (NautilusFileInfo *file_info)
get_menu_file_info (CajaFileInfo *file_info)
MenuFileInfo ret;
gchar *mime_type;
g_assert (file_info);
mime_type = nautilus_file_info_get_mime_type (file_info);
g_print ("Checking mime type %s\n", mime_type);
mime_type = caja_file_info_get_mime_type (file_info);
if (strcmp (mime_type, "application/x-desktop") == 0) {
......@@ -89,13 +84,9 @@ get_menu_file_info (NautilusFileInfo *file_info)
static void
main_menu_callback (NautilusMenuItem *item,
NautilusFileInfo *file_info)
main_menu_callback (CajaMenuItem *item,
CajaFileInfo *file_info)
static GConfClient *client;
client = gconf_client_get_default ();
switch (get_menu_file_info (file_info)) {
/* Add to the launcher favorites */
......@@ -111,10 +102,10 @@ main_menu_callback (NautilusMenuItem *item,
static NautilusMenuItem *
static CajaMenuItem *
main_menu_menu_item_new (MenuFileInfo menu_file_info)
NautilusMenuItem *ret;
CajaMenuItem *ret;
const char *name;
const char *tooltip;
......@@ -144,18 +135,18 @@ main_menu_menu_item_new (MenuFileInfo menu_file_info)
g_assert_not_reached ();
ret = nautilus_menu_item_new ("NautilusMainMenu::main_menu",
ret = caja_menu_item_new ("CajaMainMenu::main_menu",
name, tooltip, "gnome-fs-client");
return ret;
static GList *
nautilus_main_menu_get_file_items (NautilusMenuProvider *provider,
caja_main_menu_get_file_items (CajaMenuProvider *provider,
GtkWidget *window,
GList *files)
NautilusMenuItem *item;
CajaMenuItem *item;
MenuFileInfo menu_file_info;
GList *l;
......@@ -183,55 +174,55 @@ nautilus_main_menu_get_file_items (NautilusMenuProvider *provider,
static void
nautilus_main_menu_menu_provider_iface_init (NautilusMenuProviderIface *iface)
caja_main_menu_menu_provider_iface_init (CajaMenuProviderIface *iface)
iface->get_file_items = nautilus_main_menu_get_file_items;
iface->get_file_items = caja_main_menu_get_file_items;
static void
nautilus_main_menu_instance_init (NautilusMainMenu *cvs)
caja_main_menu_instance_init (CajaMainMenu *cvs)
static void
nautilus_main_menu_class_init (NautilusMainMenuClass *class)
caja_main_menu_class_init (CajaMainMenuClass *class)
nautilus_main_menu_get_type (void)
caja_main_menu_get_type (void)
return menu_type;
nautilus_main_menu_register_type (GTypeModule *module)
caja_main_menu_register_type (GTypeModule *module)
static const GTypeInfo info = {
sizeof (NautilusMainMenuClass),
sizeof (CajaMainMenuClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
(GClassInitFunc) nautilus_main_menu_class_init,
(GClassInitFunc) caja_main_menu_class_init,
sizeof (NautilusMainMenu),
sizeof (CajaMainMenu),
(GInstanceInitFunc) nautilus_main_menu_instance_init,
(GInstanceInitFunc) caja_main_menu_instance_init,
static const GInterfaceInfo menu_provider_iface_info = {
(GInterfaceInitFunc) nautilus_main_menu_menu_provider_iface_init,
(GInterfaceInitFunc) caja_main_menu_menu_provider_iface_init,
menu_type = g_type_module_register_type (module,
&info, 0);
g_type_module_add_interface (module,
* nautilus-main-menu.h
* caja-main-menu.h
* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
......@@ -21,34 +21,34 @@
#include <glib-object.h>
/* Declarations for the open terminal extension object. This object will be
* instantiated by nautilus. It implements the GInterfaces
* exported by libnautilus. */
* instantiated by caja. It implements the GInterfaces
* exported by libcaja. */
#define NAUTILUS_TYPE_MAIN_MENU (nautilus_main_menu_get_type ())
typedef struct _NautilusMainMenu NautilusMainMenu;
typedef struct _NautilusMainMenuClass NautilusMainMenuClass;
#define CAJA_TYPE_MAIN_MENU (caja_main_menu_get_type ())
typedef struct _CajaMainMenu CajaMainMenu;
typedef struct _CajaMainMenuClass CajaMainMenuClass;
struct _NautilusMainMenu {
struct _CajaMainMenu {
GObject parent_slot;
struct _NautilusMainMenuClass {
struct _CajaMainMenuClass {
GObjectClass parent_slot;
GType nautilus_main_menu_get_type (void);
void nautilus_main_menu_register_type (GTypeModule *module);
GType caja_main_menu_get_type (void);
void caja_main_menu_register_type (GTypeModule *module);
......@@ -25,32 +25,33 @@
#include <config.h>
#include "nautilus-main-menu.h"
#include "caja-main-menu.h"
#include <libcaja-extension/caja-extension-types.h>
#include <libintl.h>
static GType type_list[1];
nautilus_module_initialize (GTypeModule *module)
caja_module_initialize (GTypeModule *module)
g_print ("Initializing nautilus-main-menu extension\n");
g_print ("Initializing caja-main-menu extension\n");
nautilus_main_menu_register_type (module);
caja_main_menu_register_type (module);
type_list[0] = CAJA_TYPE_MAIN_MENU;
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
nautilus_module_shutdown (void)
caja_module_shutdown (void)
g_print ("Shutting down nautilus-main-menu extension\n");
g_print ("Shutting down caja-main-menu extension\n");
nautilus_module_list_types (const GType **types,
caja_module_list_types (const GType **types,
int *num_types)
*types = type_list;
AC_INIT([gnome-main-menu], [0.9.8], [])
AC_INIT([gnome-main-menu], [1.8.0], [http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-main-menu])
AM_INIT_AUTOMAKE([1.9 tar-ustar])
AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-xz tar-ustar check-news])
......@@ -22,114 +22,158 @@ dnl ==============================================
ALL_LINGUAS="af ar bg bn br bs ca cs cy da de dz el en_CA en_GB en_IGID en_US es et fi fr gl gu he hi hr hu id it ja ka km ko lo lt lv mk mr nb nl pa pl pt_BR pt ro ru sk sl sr sv ta tr uk vi xh zh_CN zh_TW zu"
dnl ==============================================
dnl Check that we meet the dependencies
dnl ==============================================
COMMON_MODULES="glib-2.0 gobject-2.0 gtk+-2.0 gdk-2.0"