| labwc-menu(5) | File Formats Manual | labwc-menu(5) |
NAME
labwc - menu file
DESCRIPTION
Static menus are built based on the menu.xml file located at "~/.config/labwc" and equivalent XDG Base Directories.
SYNTAX
The menu file must be entirely enclosed within
menu.id (when at toplevel)
- "root-menu" for the root window context menu
- "client-menu" for a window's titlebar context menu
- "client-list-combined-menu" for a list of all windows across all workspaces. Will change focus to the app that gets selected or go to workspace without activating any app if "Go there" is selected.
- "client-send-to-menu" shows all workspaces and sends current window to that workspace when selected.
menu.id (when nested under other
menu.label
Note that Openbox requires a label="" defined for topmost elements too, but for simplicity labwc handles these with or without the label attribute.
menu.icon
menu.item.label
menu.item.icon
menu.item.action
menu.separator
menu.separator.label
menu.execute
PIPE MENUS
Pipe menus are menus generated dynamically based on output of scripts or binaries. They are so-called because the output of the executable is piped to the labwc menu.
For any
The content of the output must be entirely enclosed within
Inline submenus and nested pipemenus are supported.
Note that it is the responsibility of the pipemenu executable to ensure that ID attributes are unique. Duplicates are ignored.
When writing pipe menu scripts, make sure to escape XML special characters such as "&" ("&"), "<" ("<"), and ">" (">").
A pipemenu can also be used to define the toplevel
ACCELERATORS / MNEMONICS
Menu accelerators are one-letter mnemonics to quickly select/exec items from the current menu. For each menu item, the accelerator is defined as the first character of the item label, converted to lowercase. A different accelerator can be explicitly defined in menu.xml with the special '_' character before the target letter. Accelerators can be any unicode character and are not limited to ASCII. A usual underscore can be shown by duplicating it.
If the menu only contains a single instance of the pressed accelerator the item will be executed directly. Otherwise, all matching items are cycled through.
Example: The accelerator for an item with the label "e_Macs" is 'm'.
LOCALISATION
Available localisation for the default "client-menu" is only shown if no "client-menu" is present in menu.xml. Any menu definition in menu.xml is interpreted as a user-override.
SEE ALSO
labwc(1), labwc-actions(5), labwc-config(5), labwc-theme(5)
| 2026-08-22 |