diff options
| -rwxr-xr-x | dmenu_path | 34 | 
1 files changed, 17 insertions, 17 deletions
@@ -1,26 +1,26 @@ -#!/bin/sh -f +#!/bin/sh  CACHE=$HOME/.dmenu_cache  IFS=: -qfind() { -	find "$@" 2>/dev/null -} - -uptodate() {                                                                        -	test -f $CACHE && -		test "$(echo "$PATH")" = "$(sed 1q "$CACHE")" && -		! qfind $PATH -maxdepth 0 -newer $CACHE >/dev/null +uptodate() { +	test ! -f $CACHE && return 1 +	for dir in $PATH +	do +		test $dir -nt $CACHE && return 1 +	done +	return 0  }  if ! uptodate  then -	{ -		echo "$PATH" -		qfind $PATH -type f -maxdepth 1 '(' -perm -u+x -o -perm -g+x -o -perm -o+x ')' | -			sed 's,.*/,,' | sort | uniq -	} -	mv $CACHE.$pid $CACHE +	for dir in $PATH +	do +		for file in "$dir"/* +		do +			test -x "$file" && echo "${file##*/}" +		done +	done | sort | uniq > $CACHE.$$ +	mv $CACHE.$$ $CACHE  fi -tail -n +2 $CACHE - +cat $CACHE  | 
