Browse Source

faster dmenu_run -f

master
Connor Lane Smith 13 years ago
parent
commit
a02a1a6623
2 changed files with 11 additions and 8 deletions
  1. +1
    -1
      dmenu.c
  2. +10
    -7
      dmenu_run

+ 1
- 1
dmenu.c View File

@ -117,7 +117,7 @@ main(int argc, char *argv[]) {
setup();
run();
return EXIT_FAILURE; /* unreachable */
return 1; /* unreachable */
}
void


+ 10
- 7
dmenu_run View File

@ -1,12 +1,15 @@
#!/bin/sh
CACHE=${XDG_CACHE_HOME:-"$HOME/.cache"}/dmenu_run
if [ ! -d "`dirname "$CACHE"`" ]; then
CACHE=$HOME/.dmenu_cache
cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"}
if [ -d "$cachedir" ]; then
cache=$cachedir/dmenu_run
else
cache=$HOME/.dmenu_cache
fi
(
IFS=:
if [ "`ls -dt $PATH "$CACHE" | head -n 1`" != "$CACHE" ]; then
lsx $PATH | sort -u > "$CACHE"
if [ "`ls -dt $PATH "$cache" | head -n 1`" != "$cache" ]; then
lsx $PATH | sort -u | tee "$cache" | dmenu "$@"
else
dmenu "$@" < "$cache"
fi
)
cmd=`dmenu "$@" < "$CACHE"` && exec sh -c "$cmd"
) | read cmd && exec sh -c "$cmd"

Loading…
Cancel
Save