summaryrefslogtreecommitdiff
path: root/copy_start_nevermind.sh
blob: 3f7f7af8690126837e475ae02c3a9011fac526a7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash
[ "$1" ] || exit 1
uri="$1"
if [ "${uri}" != "${uri:0:64}" ];then
  prompt="${uri:0:64}..."
fi
scheme="$(uricut -s <<< "$uri")"
selection="$(printf "start with: %s\ncopy\nshorten\nverbose\nforget\nQR\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"
case "$selection" in

verbose)
  x-terminal-emulator -e less -f <(printf "%s" "$uri")
  exit 0
  ;;

copy)
  printf "%s" "$uri" | xclip -i
  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)"
  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-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
  ;;

QR)
  x-terminal-emulator -hold -e qr "$uri"
  ;;

*)
  exec printf "%s" "$selection" | cut '-d ' -f2- | xclip -i
  ;;
esac