aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-07-20Add XDG applications directory scannerChristopher R. Nelson
Resolves the ordered list of "applications" directories to search per the XDG Base Directory Specification: XDG_DATA_HOME (default ~/.local/share) first, then XDG_DATA_DIRS (default /usr/local/share, /usr/share). Each variable falls back to its default independently when unset or empty, so a Flatpak-style XDG_DATA_DIRS override is honored in place of the default rather than merged with it. find_desktop_files/0,1 recursively collects .desktop files from those dirs, skipping ones that don't exist. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-20Add .desktop file parserChristopher R. Nelson
Parses the [Desktop Entry] group of a .desktop file into a #desktop_entry{} record with name, exec, icon, and a derived hidden flag (set by NoDisplay, Hidden, or a non-Application Type). Exec field codes (%f, %u, etc.) are stripped since a pipemenu has no file/URI context to expand them with. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-20Initial OTP application skeletonChristopher R. Nelson
rebar3-generated er_xdg_pipe_menu app/supervisor scaffold, to be filled in with XDG .desktop file discovery/parsing and openbox pipemenu generation. MIT licensed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>