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:
		
							
								
								
									
										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"} &
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user