dmenu_run: Split cache logic to dmenu_path again
dec9a288
This allows to run dmenu_path to update the cache using a packager manager hook system
3 file(s) · +18 −16
This allows to run dmenu_path to update the cache using a packager manager hook system
| 35 | 35 | dist: clean |
|
| 36 | 36 | @echo creating dist tarball |
|
| 37 | 37 | @mkdir -p dmenu-${VERSION} |
|
| 38 | - | @cp LICENSE Makefile README config.mk dmenu.1 draw.h dmenu_run stest.1 ${SRC} dmenu-${VERSION} |
|
| 38 | + | @cp LICENSE Makefile README config.mk dmenu.1 draw.h dmenu_path dmenu_run stest.1 ${SRC} dmenu-${VERSION} |
|
| 39 | 39 | @tar -cf dmenu-${VERSION}.tar dmenu-${VERSION} |
|
| 40 | 40 | @gzip dmenu-${VERSION}.tar |
|
| 41 | 41 | @rm -rf dmenu-${VERSION} |
|
| 43 | 43 | install: all |
|
| 44 | 44 | @echo installing executables to ${DESTDIR}${PREFIX}/bin |
|
| 45 | 45 | @mkdir -p ${DESTDIR}${PREFIX}/bin |
|
| 46 | - | @cp -f dmenu dmenu_run stest ${DESTDIR}${PREFIX}/bin |
|
| 46 | + | @cp -f dmenu dmenu_path dmenu_run stest ${DESTDIR}${PREFIX}/bin |
|
| 47 | 47 | @chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu |
|
| 48 | + | @chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu_path |
|
| 48 | 49 | @chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu_run |
|
| 49 | 50 | @chmod 755 ${DESTDIR}${PREFIX}/bin/stest |
|
| 50 | 51 | @echo installing manual pages to ${DESTDIR}${MANPREFIX}/man1 |
|
| 57 | 58 | uninstall: |
|
| 58 | 59 | @echo removing executables from ${DESTDIR}${PREFIX}/bin |
|
| 59 | 60 | @rm -f ${DESTDIR}${PREFIX}/bin/dmenu |
|
| 61 | + | @rm -f ${DESTDIR}${PREFIX}/bin/dmenu_path |
|
| 60 | 62 | @rm -f ${DESTDIR}${PREFIX}/bin/dmenu_run |
|
| 61 | 63 | @rm -f ${DESTDIR}${PREFIX}/bin/stest |
|
| 62 | 64 | @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 |
|
| 1 | + | #!/bin/sh |
|
| 2 | + | cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"} |
|
| 3 | + | if [ -d "$cachedir" ]; then |
|
| 4 | + | cache=$cachedir/dmenu_run |
|
| 5 | + | else |
|
| 6 | + | cache=$HOME/.dmenu_cache # if no xdg dir, fall back to dotfile in ~ |
|
| 7 | + | fi |
|
| 8 | + | IFS=: |
|
| 9 | + | if stest -dqr -n "$cache" $PATH; then |
|
| 10 | + | stest -flx $PATH | sort -u | tee "$cache" |
|
| 11 | + | else |
|
| 12 | + | cat "$cache" |
|
| 13 | + | fi |
| 1 | 1 | #!/bin/sh |
|
| 2 | - | cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"} |
|
| 3 | - | if [ -d "$cachedir" ]; then |
|
| 4 | - | cache=$cachedir/dmenu_run |
|
| 5 | - | else |
|
| 6 | - | cache=$HOME/.dmenu_cache # if no xdg dir, fall back to dotfile in ~ |
|
| 7 | - | fi |
|
| 8 | - | ( |
|
| 9 | - | IFS=: |
|
| 10 | - | if stest -dqr -n "$cache" $PATH; then |
|
| 11 | - | stest -flx $PATH | sort -u | tee "$cache" | dmenu "$@" |
|
| 12 | - | else |
|
| 13 | - | dmenu "$@" < "$cache" |
|
| 14 | - | fi |
|
| 15 | - | ) | ${SHELL:-"/bin/sh"} & |
|
| 2 | + | dmenu_path | dmenu "$@" | ${SHELL:-"/bin/sh"} & |