Garcon is an implementation of the freedesktop.org compliant menu specification. It is based on GLib/GIO and aims at covering the entire specification except for legacy menus. It was started as a complete rewrite of the former Xfce menu library called libxfce4menu, which, in contrast to garcon, was lacking menu merging features essential for loading menus modified with menu editors.
Garcon covers almost every part of the menu specification except for legacy menus and a few XML attributes. In contrast to libxfce4menu, it can also load menus modified with menu editors such as Alacarte as menu merging is now supported.
garcon currently supports three different levels of debugging support, which can be setup using the configure flag `–enable-debug` (check the output of `configure –help`):
Argument | Description |
——- | ———– |
`yes` | This is the default for Git snapshot builds. It adds all kinds of checks to the code, and is therefore likely to run slower. Use this for development of garcon and locating bugs in garcon. |
`minimum` | This is the default for release builds. This is the recommended behaviour. |
`no` | Disables all sanity checks. Don't use this unless you know exactly what you do. |