diff options
-rwxr-xr-x | dmenu_run | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1,9 +1,12 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | CACHE=${XDG_CACHE_HOME:-"$HOME/.cache"}/dmenu_run | 2 | CACHE=${XDG_CACHE_HOME:-"$HOME/.cache"}/dmenu_run |
3 | if [ ! -d "`dirname "$CACHE"`" ]; then | ||
4 | CACHE=$HOME/.dmenu_cache | ||
5 | fi | ||
3 | ( | 6 | ( |
4 | IFS=: | 7 | IFS=: |
5 | if test "`ls -dt $PATH "$CACHE" 2> /dev/null | sed 1q`" != "$CACHE"; then | 8 | if test "`ls -dt $PATH "$CACHE" 2> /dev/null | sed 1q`" != "$CACHE"; then |
6 | mkdir -p "`dirname "$CACHE"`" && lsx $PATH | sort -u > "$CACHE" | 9 | lsx $PATH | sort -u > "$CACHE" |
7 | fi | 10 | fi |
8 | ) | 11 | ) |
9 | cmd=`dmenu "$@" < "$CACHE"` && exec sh -c "$cmd" | 12 | cmd=`dmenu "$@" < "$CACHE"` && exec sh -c "$cmd" |