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

Use in Openbox menu.xml as a dynamic pipe menu:
    <menu id="apps" label="Applications" execute="/path/to/obamenu.sh"/>

Disable icons:
    <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)