Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision |
dev:garcon [2009/08/18 08:43] – 145.225.60.4 | dev:garcon [2013/04/11 14:57] (current) – hptt |
---|
| |
**Specifications:** [[http://standards.freedesktop.org/menu-spec/latest/|Desktop Menu]], [[http://standards.freedesktop.org/desktop-entry-spec/latest/|Desktop Entry]].\\ | **Specifications:** [[http://standards.freedesktop.org/menu-spec/latest/|Desktop Menu]], [[http://standards.freedesktop.org/desktop-entry-spec/latest/|Desktop Entry]].\\ |
**Sources:** [[http://git.xfce.org/libs/garcon/|Garcon]], [[http://git.gnome.org/cgit/alacarte/|Alacarte]]. | **Sources:** [[http://git.xfce.org/xfce/garcon/|Garcon]], [[http://git.gnome.org/cgit/alacarte/|Alacarte]]. |
| |
===== File Monitoring ===== | ===== File Monitoring ===== |
| |
We'd like the give the library build-in support for monitoring menu changes. This means we monitor the .menu file(s) for changes (for example made by Alacarte) and the .desktop file directories for added/removed/changed desktop files. When something changed we don't want to rebuild everything, but rather update and trigger some signals and notify properties. | We'd like the give the library built-in support for monitoring menu changes. This means we monitor the .menu file(s) for changes (for example made by Alacarte) and the .desktop file directories for added/removed/changed desktop files. When something changed we don't want to rebuild everything, but rather update and trigger some signals and notify properties. |
| |
| |
| |
===== TODO ===== | ===== TODO ===== |
| * <del>Fix handling of the Hidden key in .desktop files</del>. |
| * <del>Right now we return NULL when loading a desktop files with Hidden=True, this is wrong, we should instead return a GarconMenuItem, add _{get.set}_hidden functions and property. There is a possibility the hidden attribute changes during runtime, then the menu item should be visible again</del>. |
* Always return a reffed object in the _get_ functions and mention this in the API docs. | * Always return a reffed object in the _get_ functions and mention this in the API docs. |
* Because we always ref and because of the implementation of the singletons: we also return reffed items in the GList's. This means that developers should also call ''g_list_foreach (list, (GFunc) g_object_unref, NULL);'' or unref in their own loop. This is not a bad thing tho, because of the file monitoring it could be that the menu implementation releases an item (because the .desktop file was destroyed), so apps _should_ have their own references. | * Because we always ref and because of the implementation of the singletons: we also return reffed items in the GList's. This means that developers should also call ''g_list_foreach (list, (GFunc) g_object_unref, NULL);'' or unref in their own loop. This is not a bad thing tho, because of the file monitoring it could be that the menu implementation releases an item (because the .desktop file was destroyed), so apps _should_ have their own references. |