Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dev:garcon [2009/08/18 08:43] 145.225.60.4dev:garcon [2013/04/11 14:57] (current) hptt
Line 4: Line 4:
  
 **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.
  
  
Line 44: Line 44:
  
 ===== 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.