about summary refs log tree commit diff stats
path: root/bin/fl
diff options
context:
space:
mode:
authorensa <@>2023-02-04 20:03:47 -0800
committerensa <@>2023-02-04 20:52:52 -0800
commit75ee668954833ab6ba9287ed5eb16a9957edcac2 (patch)
tree07d9f88939ab0fd93d93c6f4ddbbc7b548a812f0 /bin/fl
parentebae3707b36e9a83014ef08271d75bd9826bb999 (diff)
downloadcfg-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-xbin/fl30
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