faster dmenu_run -f
This commit is contained in:
		
							parent
							
								
									cf719ccccb
								
							
						
					
					
						commit
						9edfe41b9d
					
				@ -117,7 +117,7 @@ main(int argc, char *argv[]) {
 | 
				
			|||||||
	setup();
 | 
						setup();
 | 
				
			||||||
	run();
 | 
						run();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return EXIT_FAILURE; /* unreachable */
 | 
						return 1; /* unreachable */
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
 | 
				
			|||||||
@ -1,12 +1,15 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
CACHE=${XDG_CACHE_HOME:-"$HOME/.cache"}/dmenu_run
 | 
					cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"}
 | 
				
			||||||
if [ ! -d "`dirname "$CACHE"`" ]; then
 | 
					if [ -d "$cachedir" ]; then
 | 
				
			||||||
	CACHE=$HOME/.dmenu_cache
 | 
						cache=$cachedir/dmenu_run
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						cache=$HOME/.dmenu_cache
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
(
 | 
					(
 | 
				
			||||||
	IFS=:
 | 
						IFS=:
 | 
				
			||||||
	if [ "`ls -dt $PATH "$CACHE" | head -n 1`" != "$CACHE" ]; then
 | 
						if [ "`ls -dt $PATH "$cache" | head -n 1`" != "$cache" ]; then
 | 
				
			||||||
		lsx $PATH | sort -u > "$CACHE"
 | 
							lsx $PATH | sort -u | tee "$cache" | dmenu "$@"
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							dmenu "$@" < "$cache"
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
)
 | 
					) | read cmd && exec sh -c "$cmd"
 | 
				
			||||||
cmd=`dmenu "$@" < "$CACHE"` && exec sh -c "$cmd"
 | 
					 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user