#!/bin/bash [ "$1" ] || exit 1 uri="$1" queryfiltereduri="$(uriqueryfilter "$uri")" if [ "$uri" != "$queryfiltereduri" ];then trackeruri="$uri" uri="$queryfiltereduri" fi ### this clipping should be part of choose probably if [ "${uri}" != "${uri:0:64}" ];then prompt="${uri:0:64}..." else prompt="${uri}" fi scheme="$(uricut -s <<< "$uri")" with="$(urigetline "$uri" < <(uristart.conf))" if [ "$with" != "$(urigetline -a "$uri" < <(uristart.conf))" ];then with="[multiple matches]" fi selection="$(printf "start with: %s\nremote_csn\ncopy\nshorten\nunshorten\ntitle\nverbose\nforget\nQR-image\nQR\n%s\n" "${with}" "$(printf "%s\n" "$uri" | uricut | grep -v '^whole')" \ | choose "${prompt}")" # | choose "$(printf "uri: '%s'\nwill be ran with: %s\n" "$uri" "$(urigetline "$uri")" )" -default start )" echo "$selection" case "$selection" in remote_csn) remote_host="$(choose "remote host to run URI on> " < ~/.config/urirhosts.conf)" ### TODO: include in the list our own display either to use -X or use our IP and display number? display="$(ssh "${remote_host}" myXdisplays | choose "which display?")" uristart "ssh://${remote_host}/copy_start_nevermind.sh%20${uri}?DISPLAY=$display" exit 0 ;; verbose) x-terminal-emulator -e less -f <(printf "%s" "$uri") exit 0 ;; copy) printf "%s" "$uri" | xclip -i exit 0 ;; title) copy_start_nevermind.sh "$(urititle "$uri")" exit 0 ;; forget) cp ~/.cache/uristart.log ~/.cache/uristart.log.tmp cat ~/.cache/uristart.log.tmp | grep -vFw "${uri}" > ~/.cache/uristart.log exit 0 ;; start*) scheme="$(printf "%s\n" "$uri" | uricut -s)" ### might make sense to use xwindowURI for this value if [ "$(xdotool getwindowfocus)" != 0 ];then refering_window_title="$(xdotool getwindowfocus getwindowname)" else refering_window_title="[root window]" fi exec uristart "$uri" "$refering_window_title" exit 0 ;; shorten) escaped="$(uriescape "$uri")" gemini-handler "gemini://epo.k.vu/submit?$escaped" exit 0 ;; unshorten) copy_start_nevermind.sh "$(unshorten.sh "$uri")" exit 0 ;; QR-image) escaped="$(uriescape "$uri")" file=~/Pictures/qr-codes/"${escaped}".png qr "$uri" > "$file" copy_start_nevermind.sh "file://$file" ;; QR) x-terminal-emulator -hold -e bash -c "qr '$uri';echo 'uri: $uri'" ;; *) if [ "$selection" ];then exec printf "%s" "$selection" | cut '-d ' -f2- | xclip -i fi ;; esac