dmenu_run: Split cache logic to dmenu_path again
This allows to run dmenu_path to update the cache using a packager manager hook system
This commit is contained in:
parent
1299e41447
commit
dec9a28863
6
Makefile
6
Makefile
|
@ -35,7 +35,7 @@ clean:
|
||||||
dist: clean
|
dist: clean
|
||||||
@echo creating dist tarball
|
@echo creating dist tarball
|
||||||
@mkdir -p dmenu-${VERSION}
|
@mkdir -p dmenu-${VERSION}
|
||||||
@cp LICENSE Makefile README config.mk dmenu.1 draw.h dmenu_run stest.1 ${SRC} dmenu-${VERSION}
|
@cp LICENSE Makefile README config.mk dmenu.1 draw.h dmenu_path dmenu_run stest.1 ${SRC} dmenu-${VERSION}
|
||||||
@tar -cf dmenu-${VERSION}.tar dmenu-${VERSION}
|
@tar -cf dmenu-${VERSION}.tar dmenu-${VERSION}
|
||||||
@gzip dmenu-${VERSION}.tar
|
@gzip dmenu-${VERSION}.tar
|
||||||
@rm -rf dmenu-${VERSION}
|
@rm -rf dmenu-${VERSION}
|
||||||
|
@ -43,8 +43,9 @@ dist: clean
|
||||||
install: all
|
install: all
|
||||||
@echo installing executables to ${DESTDIR}${PREFIX}/bin
|
@echo installing executables to ${DESTDIR}${PREFIX}/bin
|
||||||
@mkdir -p ${DESTDIR}${PREFIX}/bin
|
@mkdir -p ${DESTDIR}${PREFIX}/bin
|
||||||
@cp -f dmenu dmenu_run stest ${DESTDIR}${PREFIX}/bin
|
@cp -f dmenu dmenu_path dmenu_run stest ${DESTDIR}${PREFIX}/bin
|
||||||
@chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu
|
@chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu
|
||||||
|
@chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu_path
|
||||||
@chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu_run
|
@chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu_run
|
||||||
@chmod 755 ${DESTDIR}${PREFIX}/bin/stest
|
@chmod 755 ${DESTDIR}${PREFIX}/bin/stest
|
||||||
@echo installing manual pages to ${DESTDIR}${MANPREFIX}/man1
|
@echo installing manual pages to ${DESTDIR}${MANPREFIX}/man1
|
||||||
|
@ -57,6 +58,7 @@ install: all
|
||||||
uninstall:
|
uninstall:
|
||||||
@echo removing executables from ${DESTDIR}${PREFIX}/bin
|
@echo removing executables from ${DESTDIR}${PREFIX}/bin
|
||||||
@rm -f ${DESTDIR}${PREFIX}/bin/dmenu
|
@rm -f ${DESTDIR}${PREFIX}/bin/dmenu
|
||||||
|
@rm -f ${DESTDIR}${PREFIX}/bin/dmenu_path
|
||||||
@rm -f ${DESTDIR}${PREFIX}/bin/dmenu_run
|
@rm -f ${DESTDIR}${PREFIX}/bin/dmenu_run
|
||||||
@rm -f ${DESTDIR}${PREFIX}/bin/stest
|
@rm -f ${DESTDIR}${PREFIX}/bin/stest
|
||||||
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
|
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"}
|
||||||
|
if [ -d "$cachedir" ]; then
|
||||||
|
cache=$cachedir/dmenu_run
|
||||||
|
else
|
||||||
|
cache=$HOME/.dmenu_cache # if no xdg dir, fall back to dotfile in ~
|
||||||
|
fi
|
||||||
|
IFS=:
|
||||||
|
if stest -dqr -n "$cache" $PATH; then
|
||||||
|
stest -flx $PATH | sort -u | tee "$cache"
|
||||||
|
else
|
||||||
|
cat "$cache"
|
||||||
|
fi
|
15
dmenu_run
15
dmenu_run
|
@ -1,15 +1,2 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"}
|
dmenu_path | dmenu "$@" | ${SHELL:-"/bin/sh"} &
|
||||||
if [ -d "$cachedir" ]; then
|
|
||||||
cache=$cachedir/dmenu_run
|
|
||||||
else
|
|
||||||
cache=$HOME/.dmenu_cache # if no xdg dir, fall back to dotfile in ~
|
|
||||||
fi
|
|
||||||
(
|
|
||||||
IFS=:
|
|
||||||
if stest -dqr -n "$cache" $PATH; then
|
|
||||||
stest -flx $PATH | sort -u | tee "$cache" | dmenu "$@"
|
|
||||||
else
|
|
||||||
dmenu "$@" < "$cache"
|
|
||||||
fi
|
|
||||||
) | ${SHELL:-"/bin/sh"} &
|
|
||||||
|
|
Loading…
Reference in New Issue