summaryrefslogtreecommitdiff
path: root/copy_start_nevermind.sh
diff options
context:
space:
mode:
Diffstat (limited to 'copy_start_nevermind.sh')
-rwxr-xr-xcopy_start_nevermind.sh41
1 files changed, 27 insertions, 14 deletions
diff --git a/copy_start_nevermind.sh b/copy_start_nevermind.sh
index 9c77235..0e4b60f 100755
--- a/copy_start_nevermind.sh
+++ b/copy_start_nevermind.sh
@@ -5,33 +5,46 @@ if [ "${uri}" != "${uri:0:64}" ];then
prompt="${uri:0:64}..."
fi
scheme="$(uricut -s <<< "$uri")"
-selection="$(printf "start\ncopy\nshorten\nverbose\nforget\n%s\n" "$(printf "%s\n" "$uri" | uricut | grep -v '^whole')" \
+selection="$(printf "start with: %s\ncopy\nshorten\nverbose\nforget\n%s\n" "$(urigetline "$uri")" "$(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"
-if [ "$selection" = "verbose" ];then
+case "$selection" in
+
+verbose)
x-terminal-emulator -e less -f <(printf "%s" "$uri")
exit 0
-fi
-if [ "$selection" = "copy" ];then
+ ;;
+
+copy)
printf "%s" "$uri" | xclip -i
exit 0
-fi
-if [ "$selection" = "forget" ];then
+ ;;
+
+forget)
cp ~/.cache/uristart.log ~/.cache/uristart.log.tmp
cat ~/.cache/uristart.log.tmp | grep -vFw "${uri}" > ~/.cache/uristart.log
exit 0
-fi
-if [ "$selection" = "start" ];then
+ ;;
+
+start*)
scheme="$(printf "%s\n" "$uri" | uricut -s)"
- exec uristart "$uri" "$(xdotool getwindowfocus getwindowname)"
+ 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
-fi
-if [ "$selection" = "shorten" ];then
+ ;;
+
+shorten)
escaped="$(uriescape "$uri")"
gemini-get "gemini://epo.k.vu/submit?$escaped" | tr -d '\r' | tail -n+2 | head -n2 | tr '\n' '\0' | xargs -n1 -0 copy_start_nevermind.sh
exit 0
-fi
-if [ "$selection" ];then
+ ;;
+
+*)
exec printf "%s" "$selection" | cut '-d ' -f2- | xclip -i
-fi
+ ;;
+esac