From 38a242c9991d35ddf514aa7bc3510be0b1624503 Mon Sep 17 00:00:00 2001 From: randomuser Date: Tue, 31 Jan 2023 11:26:27 -0600 Subject: [PATCH] make tmenu_run faster by having an application name cache --- Makefile | 1 + sh/tmenu_run | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) 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