X-Git-Url: https://git.xinqibao.xyz/dmenu.git/blobdiff_plain/b2bb6ebec9054f5e3106abcea90c3ba1386acdeb..05c138f5b8f19070a190b97728c83b454855f52b:/dmenu_path diff --git a/dmenu_path b/dmenu_path old mode 100755 new mode 100644 index 1b1b241..338bac4 --- a/dmenu_path +++ b/dmenu_path @@ -1,9 +1,13 @@ #!/bin/sh -CACHE=$HOME/.dmenu_cache +cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"} +if [ -d "$cachedir" ]; then + cache=$cachedir/dmenu_run +else + cache=$HOME/.dmenu_cache # if no xdg dir, fall back to dotfile in ~ +fi IFS=: - -if ! test -f "$CACHE" || find $PATH -type d -newer "$CACHE" | grep -q .; then - find $PATH ! -type d \( -perm -1 -o -perm -10 -o -perm -100 \) | sed 's/.*\///' | sort -u > "$CACHE" +if stest -dqr -n "$cache" $PATH; then + stest -flx $PATH | sort -u | tee "$cache" +else + cat "$cache" fi - -cat "$CACHE"