Преглед на файлове

Changed dmenu_path (fixed race, improved speed, check that $PATH is the same as the last run).

master
Kris Maglione преди 17 години
родител
ревизия
c04b688cc0
променени са 1 файла, в които са добавени 17 реда и са изтрити 16 реда
  1. +17
    -16
      dmenu_path

+ 17
- 16
dmenu_path Целия файл

@@ -1,25 +1,26 @@
#!/bin/sh
#!/bin/sh -f
CACHE=$HOME/.dmenu_cache
IFS=:

qfind() {
find "$@" 2>/dev/null
}

uptodate() {
test ! -f $CACHE && return 1
for dir in $PATH
do
test $dir -nt $CACHE && return 1
done
return 0
}
test -f $CACHE &&
test "$(echo "$PATH")" = "$(sed 1q "$CACHE")" &&
qfind $PATH -maxdepth 0 -newer $CACHE
}

if ! uptodate
then
for dir in $PATH
do
for file in "$dir"/*
do
test -x "$file" && echo "${file##*/}"
done
done | sort | uniq > $CACHE
{
echo "$PATH"
qfind $PATH -type f -maxdepth 1 -perm -u+x -o -perm -g+x -o -perm -o+x |
sed 's,.*/,,' | sort | uniq
} > $CACHE.$pid
mv $CACHE.$pid $CACHE
fi

cat $CACHE
tail -n +2 $CACHE


Зареждане…
Отказ
Запис