簡単に言えば、dmenuのサブメニューを作成する方法、マンページはあまり役に立ちません。
ユースケース:メモファイルのリストをdmenuに pipし、dmenuのサブメニューの下にこれらのすべてのファイルを一覧表示します。
スピード:
open dmenu
type: notes
submenu with list of notes (piped list files under a folder)
答え1
概念の証明は次のとおりです。
#!/bin/bash
#
# Dmenu picker with sub entries
options=("Note books" Files)
choice=$(printf "%s\n" "${options[@]}" | dmenu)
[ $? = 0 ] || exit
case $choice in
"Note books")
cd ~/notebooks
note=$(ls | dmenu)
[ $? = 0 ] || exit
gedit "$note"
;;
Files)
cd ~
file=$(ls | dmenu)
[ $? = 0 ] || exit
xdg-open "$file"
;;
esac
$PATH
これは、スクリプトを実行可能にした場合dmenu_run
にも見つかります。