Xfce Wiki

Sub domains

garcon - menu library

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.

Required Packages

Debugging Support

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.

Back To Top

Latest Release

  • garcon 4.19.0 released (2023/04/18 13:16)
    garcon 4.19.0 is now available for download from
    What is garcon?
    Garcon is an implementation of the freedesktop.org menu specification
    replacing the former Xfce menu library libxfce4menu. It is based on
    GLib/GIO only and aims at covering the entire specification except for
    legacy menus.
    Release notes for 4.19.0
    [Please note that this is a development release.]
    - build: Fix untranslated `.directory` files
    - Revert "build: Fix untranslated `.directory` files"
    - build: Fix untranslated `.directory` files
    - Update `.gitignore`
    - build: Use m4_defined min versions and cleanup
    - build: Use XDT_VERSION_INIT and get rid of configure.ac.in
    - build: Switch from intltool to gettext
    - garcon-gtk: Add missing lock when filling the GtkMenu
    - Wait for any async operation to finish before releasing locks
    - Use GIcons for menu icons instead of loading surfaces
    - Revert "garcon-gtk: Fix menu icon blurriness when UI scale factor !=
    - Revert "Load icons using icon theme scaling functions correctly"
    - garcon-gtk: Properly update GtkMenu is_populated state
    - Load icons using icon theme scaling functions correctly
    - Translation Updates:
      Albanian, Amharic, Arabic, Armenian, Armenian (Armenia), Asturian,
      Basque, Belarusian, Bengali, Bulgarian, Catalan, Chinese (China),
      Chinese (Hong Kong), Chinese (Taiwan), Croatian, Czech, Danish,
      Dutch, Eastern Armenian, English (Australia), English (United
      Kingdom), Esperanto, Estonian, Finnish, French, Galician, Georgian,
      German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian,
      Interlingue, Italian, Japanese, Kabyle, Kazakh, Korean, Latvian,
      Lithuanian, Malay, Norwegian Bokmål, Norwegian Nynorsk, Occitan
      (post 1500), Panjabi (Punjabi), Polish, Portuguese, Portuguese
      (Brazil), Romanian, Russian, Serbian, Sinhala, Slovak, Slovenian,
      Spanish, Swedish, Telugu, Thai, Turkish, Ukrainian, Uyghur, Uzbek,
      Uzbek (Latin), Welsh

Previous Releases

Back to Top

Source Code Repository

Reporting Bugs

Back To Top

Back to main Xfce documentation page