diff options
author | epoch <epoch@hacking.allowed.org> | 2019-11-02 05:44:17 -0500 |
---|---|---|
committer | epoch <epoch@hacking.allowed.org> | 2019-11-02 05:44:17 -0500 |
commit | 59d1d3ebd78cb17d443877179c5fc9d74383a9d5 (patch) | |
tree | a6471c32ed321078092c6ee469fea102848aae6e /uristart | |
parent | 8a8602011b11a4f53a96facd4d5dc0c0aed7b6a4 (diff) | |
download | uritools-59d1d3ebd78cb17d443877179c5fc9d74383a9d5.tar.gz uritools-59d1d3ebd78cb17d443877179c5fc9d74383a9d5.zip |
commented out weird derp+merp scheme code. added urilaunch which is meant to be done similar to how dmenu_run gets launched. I use alt+u
Diffstat (limited to 'uristart')
-rwxr-xr-x | uristart | 43 |
1 files changed, 25 insertions, 18 deletions
@@ -1,24 +1,26 @@ #!/bin/bash ##might have to configure me. ASKUSER="dmenu -p" -uri=$1 +uri="${1}" scheme="$(printf "%s\n" "$uri" | uricut -s)" -if grep '\+' <<< "$scheme" 2>&1 >/dev/null;then - echo "dunno wtf yet" - scheme1="$(printf "%s\n" "$scheme" | cut -d+ -f1)+" - scheme2="+$(printf "%s\n" "$scheme" | cut -d+ -f2)" - echo $scheme1 - echo $scheme2 - line1="$(grep "^${scheme1}"$'\t' ~/.config/uristart.conf | cut -d: -f2- | sed 's/^[ \t]//g')" - line2="$(grep "^${scheme2}"$'\t' ~/.config/uristart.conf | cut -d: -f2- | sed 's/^[ \t]//g')" - echo $line1 - echo $line2 - pipeline1="$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line1")" - pipeline2="$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line2")" - echo $pipeline1 - echo $pipeline2 - socat "exec:bash -c 'eval \"$pipeline1\"'" "exec:bash -c 'eval \"$pipeline2\"'" -else +### experimental crap.. let's comment it out for now. +#if grep '\+' <<< "$scheme" 2>&1 >/dev/null;then +# echo "dunno wtf yet" +# scheme1="$(printf "%s\n" "$scheme" | cut -d+ -f1)+" +# scheme2="+$(printf "%s\n" "$scheme" | cut -d+ -f2)" +# echo $scheme1 +# echo $scheme2 +# line1="$(grep "^${scheme1}:"$'\t' ~/.config/uristart.conf | tr -s '\t ' | cut -f2- | sed 's/^[ \t]//g' | sed 's/\\n/\\\\n/g')" +# line2="$(grep "^${scheme2}:"$'\t' ~/.config/uristart.conf | tr -s '\t ' | cut -f2- | sed 's/^[ \t]//g' | sed 's/\\n/\\\\n/g')" +# echo $line1 +# echo $line2 +# pipeline1="$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line1" )" +# pipeline2="$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line2" )" +# echo "$pipeline1" +# echo "$pipeline2" +# mknod /tmp/p p +# cat /tmp/p | bash -xc "$pipeline1" | bash -xc "$pipeline2" > /tmp/p +#else line="$(grep "^${scheme}:" ~/.config/uristart.conf | cut -d: -f2- | sed 's/^[ \t]//g')" if printf "%s\n" "$uri" | urimatch nP >/dev/null;then proto="$(grep ^"$scheme"'[\t ]' /etc/services | tr -s '\t ' | cut -f2 | cut -d/ -f1 | head -n1)" @@ -45,5 +47,10 @@ else fi printf '%s:\t%s\n' "${scheme}" "${line}" >> ~/.config/uristart.conf fi + ## uri *might* contain pattern matching special characters. :/ + ## which could break things in weird and exciting ways + if ! cut '-d ' -f1 ~/.cache/uristart.log | grep -Fx "$uri" 2>&1 >/dev/null;then #only log URIs that aren't already listed + printf "%s\n" "$uri" >> ~/.cache/uristart.log + fi eval "$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line")" -fi +#fi |