dmenu:サブメニューの作成方法

dmenu:サブメニューの作成方法

簡単に言えば、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にも見つかります。

関連情報