saturnin-www 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. . $(ffoom path)
  3. ffoo import inigrep
  4. ffoo import pretty
  5. ffoo import saturnin_www
  6. #
  7. # On clipboards:
  8. #
  9. # * primary is for selection/middle mouse click (X power users)
  10. # * clipboard is for Win/Mac-like explicit Copy/Cut/Paste
  11. # * nobody uses secondary
  12. #
  13. # see http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt
  14. # for more details
  15. #
  16. usage() {
  17. usage_is "word..." \
  18. "-f file" \
  19. "-1|-2|-c|-C"
  20. }
  21. clipln() {
  22. #
  23. # Print primary clipboard and \n
  24. #
  25. case $1 in
  26. pri) s=primary ;;
  27. sec) s=secondary ;;
  28. clp) s=clipboard ;;
  29. esac
  30. xclip -o -selection $s 2>/dev/null
  31. echo ""
  32. }
  33. src=args
  34. while true; do case "$1" in
  35. -f) src=file; file=$2; shift 2 ;;
  36. -1) src=xpri; shift ;;
  37. -2) src=xsec; shift ;;
  38. -c) src=xclp; shift ;;
  39. -C) src=xall; shift ;;
  40. -*) usage ;;
  41. *) break ;;
  42. esac done
  43. debug "\$@='$@'"
  44. debug -v src
  45. case "$src" in
  46. args) uri="$(echo "$@" | find_uri)" ;;
  47. file) uri="$(cat "$file" | find_uri)" ;;
  48. xpri) uri="$(clipln pri | find_uri)" ;;
  49. xsec) uri="$(clipln sec | find_uri)" ;;
  50. xclp) uri="$(clipln clp | find_uri)" ;;
  51. xall) uri="$(clipln pri | find_uri)"
  52. uri="$(clipln sec | find_uri)"
  53. uri="$(clipln clp | find_uri)"
  54. ;;
  55. esac
  56. debug -v uri
  57. test -z "$uri" && uri="$(inigrep -p www.bookmark.default)"
  58. echo "$uri"