diff options
Diffstat (limited to 'dmenu_run')
| -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" |
