123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/bin/bash
-
- . "$(ffoom path)" || exit 3
-
- ffoo import inigrep
- ffoo import pretty
-
- ffoo import saturnin_urimagic
-
- saturnin_urimagic__inipfx0="uris.bookmark"
- saturnin_urimagic__inipfxN="uris.query"
-
- #
- # On clipboards:
- #
- # * primary is for selection/middle mouse click (X power users)
- # * clipboard is for Win/Mac-like explicit Copy/Cut/Paste
- # * nobody uses secondary
- #
- # see http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt
- # for more details
- #
-
- usage() {
- mkusage "word..." \
- "-f file" \
- "-1|-2|-c|-C"
- }
-
- clipln() {
- #
- # Print primary clipboard and \n
- #
- case $1 in
- pri) s=primary ;;
- sec) s=secondary ;;
- clp) s=clipboard ;;
- esac
- xclip -o -selection $s 2>/dev/null
- echo ""
- }
-
- src=args
- while true; do case "$1" in
- -f) src=file; file=$2; shift 2 || usage ;;
- -1) src=xpri; shift ;;
- -2) src=xsec; shift ;;
- -c) src=xclp; shift ;;
- -C) src=xall; shift ;;
- -*) usage ;;
- *) break ;;
- esac done
-
- debug "\$*='$*'"
- debug -v src
-
- case "$src" in
- args) uri="$(echo "$@" | saturnin_urimagic__scan)" ;;
- file) uri="$(<"$file" saturnin_urimagic__scan)" ;;
- xpri) uri="$(clipln pri | saturnin_urimagic__scan)" ;;
- xsec) uri="$(clipln sec | saturnin_urimagic__scan)" ;;
- xclp) uri="$(clipln clp | saturnin_urimagic__scan)" ;;
- xall) uri="$(clipln pri | saturnin_urimagic__scan)"
- uri="$(clipln sec | saturnin_urimagic__scan)"
- uri="$(clipln clp | saturnin_urimagic__scan)"
- ;;
- esac
- debug -v uri
-
- test -z "$uri" && uri="$(inigrep -p uris.bookmark.default)"
-
- echo "$uri"
|