diff options
author | ensa <@> | 2023-02-04 20:03:47 -0800 |
---|---|---|
committer | ensa <@> | 2023-02-04 20:52:52 -0800 |
commit | 75ee668954833ab6ba9287ed5eb16a9957edcac2 (patch) | |
tree | 07d9f88939ab0fd93d93c6f4ddbbc7b548a812f0 /bin/fl | |
parent | ebae3707b36e9a83014ef08271d75bd9826bb999 (diff) | |
download | cfg-75ee668954833ab6ba9287ed5eb16a9957edcac2.tar.gz |
restructure, cleanups, greener pastures, new additions
config and data are now etc and share, to better match my homedir bin: generally, shellcheck errors (where there's actually a problem) have been fixed bother now includes alternate support for libnotify as well as my notif comm-sel now loops, so spawning programs doesn't require multiple runs fcard: my flashcard script accepts a tsv's path on $1, expecting: the word on column 1 the defintion on column 2 (optional) the section on column 3 if $2 is specified, only runs through lines with that string as its section fl: added aesgcm to the url detector string, because of profanity cleaned up urlparse now outputs the urls, one per line, making it more unixy flc: a quick script. uses fl's output to do what fl once did on its own. kbsetup now lacks escape xcape magic, qmk does that for me now. lh: general cleanup. added and removed a site for the video extract section metamv: gives arguments self-describing names based off metadata. mainly just for sorting FLACs off bandcamp this might not be entirely safe. use your own discretion. notif: xnotify wasn't happy with the previous design. it was sending notifications in pieces. this new one's an absolute mess but it works well, is smaller, and faster op: changed the pdf bit to allow variants smv: file is self-explanatory applies the pipeline specified in "$1" to every file name specified after it xbg: contains a fallback if xwallpaper isn't downloaded or its path is empty. yw: just a quick and dirty line for watching things in mpv using yt-dlp. etc: X11/: xprofile now includes the latest xnotify initialization. xresources prevents a variable collision also updates new xnotify resource names and changes which program to pipe the screen to. mpd/mpd.conf just updates to path structure. yt-dlp/* too many changes to describe. should be fairly self-explanatory. ksh/: prompt.ksh: the $ is green now. hooray! lf/lfrc: removed ttmsh function. i use my server for that now. newsboat/config: external-url-viewer is now non-python. zathura/zathurarc: font is now hermit. aliasrc: exa is no more. vis is also no more. youtube-dl is dead. long live yt-dlp. shrc: locale vars changed to ones than glibc is ok with
Diffstat (limited to 'bin/fl')
-rwxr-xr-x | bin/fl | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/bin/fl b/bin/fl index bd98a63..cc8924a 100755 --- a/bin/fl +++ b/bin/fl @@ -5,28 +5,34 @@ # from pure-sh-bible, strips from the start of a string lstrip() { - printf '%s\n' "${1##$2}" + printf '%s\n' "${1##"$2"}" } -# put url-finding regex in a variable so no lines go over 80 chars -re_urls='((https?://|www\.)[[:alnum:].]*:?[[:alnum:]./@$&%?$#=_-]*)' +# url-finding regex +re_urls='(((https?|aesgcm)://|www\.)[[:alnum:].]*:?[[:alnum:]./@$&%?$#=_-]*)' # finds links, puts them in a list # sort -u prevents duplicates, but also sorts the links urlparse() { - lstrip "$(cat)" "*\│" | + input="$(if [ -n "$1" ]; then printf '%s\n' "$*"; else cat; fi)" + lstrip "$input" "*\│" | grep -Eo "$re_urls" | sort -u | sed 's|^www.|http://www\.|g' } -if [ -n "$1" ]; then - urls=$(echo "$@"|urlparse) -else - urls=$(urlparse) -fi + +set -- $(urlparse "$@") # wipe IFS so dmenu handles being sent the links properly IFS= -# send any found links to dmenu so one can be chosen to be sent to the clipboard -[ -n "$urls" ] && - echo $urls | dmenu -i -p 'copy which url?' -l 10 | xclip -r -sel c \ No newline at end of file +# send any found links to select so one can be chosen to be sent to the clipboard +#select url; +#do +# printf '%s' "$url" +#done +for url; do + printf '%s\n' "$url" +done + +#[ -n "$urls" ] && +# echo $urls | dmenu -i -p 'copy which url?' -l 10 | xclip -r -sel c |