38 lines
707 B
Bash
38 lines
707 B
Bash
#!/usr/bin/env bash
|
|
|
|
function run_menu() {
|
|
menu="$1"
|
|
if [[ -z "$menu" ]]
|
|
then
|
|
menu="main"
|
|
fi
|
|
|
|
items="$(cat "$XDG_CONFIG_HOME/menu_main/$menu")"
|
|
|
|
echo "$XDG_CONFIG_HOME/menu_main/$menu"
|
|
echo "$items"
|
|
|
|
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
|
|
menu_main "$(echo "$action" | sed -e 's|^[^:]*:||')"
|
|
exit
|
|
fi
|
|
|
|
if [[ "$(echo "$action" | sed -e 's|:.*$||')" == "exec" ]]
|
|
then
|
|
cd $XDG_CONFIG_HOME/menu_main
|
|
$(echo "$action" | sed -e 's|^[^:]*:||')
|
|
fi
|
|
|
|
}
|
|
|
|
run_menu "$1"
|