dmenu_run: Split cache logic to dmenu_path again
This allows to run dmenu_path to update the cache using a packager manager hook systemmain
							parent
							
								
									1299e41447
								
							
						
					
					
						commit
						dec9a28863
					
				
							
								
								
									
										6
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										6
									
								
								Makefile
								
								
								
								
							|  | @ -35,7 +35,7 @@ clean: | |||
| dist: clean | ||||
| 	@echo creating dist tarball | ||||
| 	@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} | ||||
| 	@gzip dmenu-${VERSION}.tar | ||||
| 	@rm -rf dmenu-${VERSION} | ||||
|  | @ -43,8 +43,9 @@ dist: clean | |||
| install: all | ||||
| 	@echo installing executables to ${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_path | ||||
| 	@chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu_run | ||||
| 	@chmod 755 ${DESTDIR}${PREFIX}/bin/stest | ||||
| 	@echo installing manual pages to ${DESTDIR}${MANPREFIX}/man1 | ||||
|  | @ -57,6 +58,7 @@ install: all | |||
| uninstall: | ||||
| 	@echo removing executables from ${DESTDIR}${PREFIX}/bin | ||||
| 	@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/stest | ||||
| 	@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 | ||||
| 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" | dmenu "$@" | ||||
| 	else | ||||
| 		dmenu "$@" < "$cache" | ||||
| 	fi | ||||
| ) | ${SHELL:-"/bin/sh"} & | ||||
| dmenu_path | dmenu "$@" | ${SHELL:-"/bin/sh"} & | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue