The menu navigation contract: a submenu invoked directly via keybinding (BACK_TO_EXIT=true, set by go_to_menu when nomarchy-menu is launched with a target argument) should `exit 0` after the user's action; a submenu invoked from a parent menu (BACK_TO_EXIT=false) should call `back_to <parent>` to return where the user came from. back_to() honors both modes. Three submenus violated the contract: - show_theme_menu and show_background_menu shell out to walker's Elephant plugin and don't call back_to. After picking a theme or wallpaper from Main -> Style -> Theme, the script exits silently instead of returning to Style; the user has to relaunch the menu from scratch to change anything else. - show_hardware_menu's cancel branch called show_trigger_menu directly instead of back_to show_trigger_menu, which would have bounced a direct-keybinding caller into Trigger instead of exiting cleanly. Adds the missing back_to call to the two walker-backed submenus (parented to show_style_menu) and converts the hardware cancel branch to back_to. The 16 other show_*_menu functions already conform. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
12 KiB
Executable File
12 KiB
Executable File