#!/usr/bin/env bash function run_menu() { menu="$1" if [[ -z "$menu" ]] then menu="main" fi items="$(cat "$XDG_CONFIG_HOME/menu/$menu")" item="$(echo "$items" | sed -e 's|:.*$||' | walker --dmenu)" action="$(echo "$items" | grep "^$item" | sed 's|^[^:]*:||' )" exec_item "$action" } function exec_item() { if [[ "$(echo "$action" | sed -e 's|:.*$||')" == "menu" ]] then run_menu "$(echo "$action" | sed -e 's|^[^:]*:||')" exit fi if [[ "$(echo "$action" | sed -e 's|:.*$||')" == "exec" ]] then cd "$XDG_CONFIG_HOME/menu" $(echo "$action" | sed -e 's|^[^:]*:||') fi } run_menu "$1"