Total rewrite #15
							
								
								
									
										53
									
								
								xdg-sanity
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								xdg-sanity
									
									
									
									
									
								
							| @ -29,19 +29,19 @@ fi | ||||
| 
 | ||||
| # check if we have tomcat(1) | ||||
| if ! command -v tomcat >/dev/null 2>&1; then | ||||
| 	printf "%s: Missing dependency: stoml(1)\n" "$argv0" 1>&2 | ||||
| 	printf "%s: Missing dependency: tomcat(1)\n" "$argv0" 1>&2 | ||||
| 	exit 71 # sysexits(3) EX_OSERR | ||||
| fi | ||||
| 
 | ||||
| # set the XDG_COMMAND | ||||
| test -n "$XDG_COMMAND" || XDG_COMMAND="$(tomcat tools.xdg $CONFIG)" | ||||
| test -n "$XDG_COMMAND" || XDG_COMMAND="$(tomcat tools.xdg "$CONFIG")" | ||||
| ! command -v handlr >/dev/null 2>&1 && ! command -v xdg-open >/dev/null 2>&1 \ | ||||
|     && XDG_COMMAND=false \ | ||||
| 		|| true | ||||
| 
 | ||||
| 
 | ||||
| # check if we have a BROWSER | ||||
| test -n "$BROWSER" || BROWSER="$(tomcat tools.browser $CONFIG)" | ||||
| test -n "$BROWSER" || BROWSER="$(tomcat tools.browser "$CONFIG")" | ||||
| if ! test -n "$BROWSER"; then | ||||
| 	printf "\ | ||||
| %s: \$BROWSER not filled. | ||||
| @ -61,40 +61,41 @@ while test -n "$1"; do | ||||
| 		xargs echo)" | ||||
| 
 | ||||
| 	# get the pattern for the extensions to MATCH | ||||
| 	MATCH=$(printf "%s\n" "$URL" | sed -ne 's/^h.\+\/\///p' |\ | ||||
| 		sed -e 's/\/.*\+//g') | ||||
| 	MATCH="$(printf "%s\n" "$URL" | sed -ne 's/^h.\+\/\///p' |\ | ||||
| 		sed -e 's/\/.*\+//g')" | ||||
| 	 | ||||
| 	# run through MIME extensions | ||||
| 	for file in \ | ||||
| 		"$XDG_DATA_HOME"/xdg-sanity/*-mime.toml \ | ||||
| 	  /usr/share/xdg-sanity/*-mime.toml \ | ||||
| 		/usr/local/share/xdg-sanity/*-mime.toml \ | ||||
| 		/dev/null | ||||
| 		/usr/local/share/xdg-sanity/*-mime.toml | ||||
| 	do | ||||
| 		i=$(tomcat replace.urls "$file" | sed 's/	/\n/g' | wc -l) | ||||
| 		printf "$i\n" | ||||
| 		while ! [ "$i" = 0 ]; do | ||||
| 		  if [ "$MATCH" = "$(tomcat replace.urls[$i] $file)" ]; then | ||||
| 				  MIME=$(tomcat with.mime "$file") | ||||
| 			fi | ||||
| 			i=$(dc -e "$i 1 - p") | ||||
| 	  done | ||||
| 		if test -e "$file"; then | ||||
| 			i=$(tomcat replace.urls "$file" | sed 's/	/\n/g' | wc -l) | ||||
| 			while ! [ "$i" = 0 ]; do | ||||
| 				if [ "$MATCH" = "$(tomcat replace.urls["$i"] "$file")" ]; then | ||||
| 					MIME="$(tomcat with.mime "$file")" | ||||
| 				fi | ||||
| 				i="$(dc -e "$i 1 - p")" | ||||
| 			done | ||||
| 		fi | ||||
| 	done | ||||
| 
 | ||||
| 	# and the replace extensions | ||||
| 	for file in \ | ||||
| 		"$XDG_DATA_HOME"/xdg-sanity/*-replace.toml \ | ||||
| 	  /usr/share/xdg-sanity/*-replace.toml \ | ||||
| 		/usr/local/share/xdg-sanity/*-replace.toml \ | ||||
| 		/dev/null | ||||
| 		/usr/local/share/xdg-sanity/*-replace.toml | ||||
| 	do | ||||
|     i=$(tomcat replace.urls "$file" | sed 's/	/\n/g' | wc -l) | ||||
| 		while ! [ "$i" = 0 ]; do | ||||
| 		  if [ "$MATCH" = "$(tomcat replace.urls[$i] $file)" ]; then | ||||
| 				  URL=$(tomcat with.url "$file") | ||||
| 			fi | ||||
| 			i=$(dc -e "$i 1 - p") | ||||
| 	  done | ||||
| 		if test -e "$file"; then | ||||
| 			i=$(tomcat replace.urls "$file" | sed 's/	/\n/g' | wc -l) | ||||
| 			while ! [ "$i" = 0 ]; do | ||||
| 				if [ "$MATCH" = "$(tomcat replace.urls["$i"] "$file")" ]; then | ||||
| 						URL="$(tomcat with.url "$file")" | ||||
| 				fi | ||||
| 				i="$(dc -e "$i 1 - p")" | ||||
| 			done | ||||
| 		fi | ||||
| 	done | ||||
| 
 | ||||
|   # these commands may fail; this is intentional | ||||
| @ -103,10 +104,10 @@ while test -n "$1"; do | ||||
| 	else | ||||
| 		case "$(command -v $XDG_COMMAND)" in | ||||
| 			*/handlr ) | ||||
| 				"XDG_COMMAND" "$MIME" -- "$URL" | ||||
| 				handlr launch "$MIME" -- "$URL" | ||||
| 				;; | ||||
| 			*/xdg-open ) | ||||
| 			  "$(xdg-mime query default $MIME)" "$URL" | ||||
| 			  "$(xdg-mime query default "$MIME")" "$URL" | ||||
| 				;; | ||||
| 			false ) | ||||
| 				exit 69 # sysexits(3) EX_UNAVAILABLE | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user