table of contents
- experimental 3.7~rc2-1
| OBAMENU.SH(1) | User Commands | OBAMENU.SH(1) |
NAME¶
obamenu.sh - generate a dynamic Openbox menu from .desktop files
SYNOPSIS¶
obamenu.sh [--no-icons]
DESCRIPTION¶
obamenu.sh is a Bash script that dynamically generates an XML menu for the Openbox window manager based on .desktop files found in system application directories.
The script organizes applications into user-defined categories, supports localized names, includes optional icons, and outputs a pipe menu suitable for Openbox integration.
OPTIONS¶
- --no-icons
- Disables icons in the menu output. Useful for minimalist setups or low-resource environments.
FEATURES¶
- - Supports localized application names (e.g., Name[pl] based on LANG)
- - Sorts applications alphabetically within each category
- - Uses fallback to standard Name if no localized name is found
- - Automatically detects and includes icons (if available)
- - Filters out blacklisted/ignored desktop files
- - Handles terminal-based applications via a configurable terminal command
USAGE EXAMPLES¶
<menu id="apps" label="Applications" execute="/path/to/obamenu.sh"/>
<menu id="apps-noicon" label="Apps (No Icons)" execute="/path/to/obamenu.sh --no-icons"/>
ENVIRONMENT¶
- LANG
- Determines which localized application name to use from the .desktop files. For example, LANG=en_US.UTF-8 will select Name[pl] when available.
FILES¶
- /usr/share/applications/*.desktop
- Standard location for application desktop entries on most Linux systems.
AUTHOR¶
Originally written in Python, ported to Bash by Mateusz Łukasik <mati75@linuxmint.pl> for Debian openbox package.
LICENSE¶
Free software; distributed under the MIT.
SEE ALSO¶
openbox(1), desktop-file-utils(1)
| July 2025 | 0.1 |