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 | |
| 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
| -rw-r--r-- | urilaunch | 3 | ||||
| -rwxr-xr-x | uristart | 43 | 
2 files changed, 28 insertions, 18 deletions
| diff --git a/urilaunch b/urilaunch new file mode 100644 index 0000000..a349502 --- /dev/null +++ b/urilaunch @@ -0,0 +1,3 @@ +#!/bin/sh +#uristart.log /should/ already be uniq'd because of uristart's code now, but might as well not rely on it. +uristart $(cat ~/.cache/uristart.log | sort | uniq | dmenu -p url\> | cut '-d ' -f1) @@ -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 | 
