diff --git a/Makefile b/Makefile index 334e13a..b6814b6 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,7 @@ sh: cp -f sh/git-credential-gitpass $(DESTDIR)$(PREFIX)/bin cp -f sh/capture $(DESTDIR)$(PREFIX)/bin cp -f sh/toggle-contingency-mode $(DESTDIR)$(PREFIX)/bin + ln -sf $(DESTDIR)$(PREFIX)/bin/tmenu_run $(DESTDIR)$(PREFIX)/bin/regenerate check: shellcheck sh/* diff --git a/sh/tmenu_run b/sh/tmenu_run index ac28a73..695e6b5 100755 --- a/sh/tmenu_run +++ b/sh/tmenu_run @@ -4,9 +4,15 @@ tmenu_path () { IFS=" :" for i in $PATH; do for j in "$i"/*; do - [ -f "$j" ] && [ -x "$j" ] && printf "%s\n" "$j" + [ -f "$j" ] && [ -x "$j" ] && printf "%s\n" "$j" | xargs basename done done } -tmenu_path | tmenu | ${SHELL:-"/bin/sh"} & +if [ "$1" = "-g" ] || [ "$(basename $0)" = "regenerate" ]; then + mkdir -p $HOME/.local/share + tmenu_path > $HOME/.local/share/tmenu_cache + xmessage "regeneration complete" +else + cat $HOME/.local/share/tmenu_cache | tmenu | ${SHELL:-"/bin/sh"} & +fi