From e4501794f2b8f9fd6b022f8bcd03ef1307810a40 Mon Sep 17 00:00:00 2001 From: emma Date: Tue, 8 Nov 2022 19:38:27 -0500 Subject: [PATCH] extensions work (for real this time) --- xdg-sanity | 53 +++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/xdg-sanity b/xdg-sanity index b9ba416..aa0dd04 100755 --- a/xdg-sanity +++ b/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