about summary refs log tree commit diff stats
path: root/bin/lh
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/lh
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/lh')
-rwxr-xr-xbin/lh19
1 files changed, 10 insertions, 9 deletions
diff --git a/bin/lh b/bin/lh
index 71bc747..07be403 100755
--- a/bin/lh
+++ b/bin/lh
@@ -53,27 +53,28 @@ findredir() {
 while [ $# -ne 0 ]
 do
 # handle redirects. tr removes control characters, so the case statement below works as expected.
-URL=$(echo "$1"|findredir|tail -1|tr -d '[:cntrl:]')
+URL="$(echo "$1"|findredir|tail -1|tr -d '[:cntrl:]')"
 
 # if there were no redirects, just set URL to the first argument
 [ -z "$URL" ] && URL="$1"
 
 case "$URL" in
 	gemini://*|gopher://*)
-		$TERMINAL -e bombadillo "$URL" ;;
+		"$TERMINAL" -e bombadillo "$URL" ;;
 	*.mov*|*.mkv*|*.webm*|*.mp4*)
 		mpv --no-terminal "$URL" & ;;
-	*invidio.us/watch*|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*|*twitch.tv/videos/*|*twitch.tv/*/v/*)
-		mpv --no-terminal --ytdl "$URL" & ;;
+	*invidio.us/watch*|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*bitchute.com*|*twitch.tv/videos/*|*twitch.tv/*/v/*|*clips.twitch.tv*|*streamable.com*)
+		yw "$URL" & ;;
 	*twitch.tv/*)
 		STREAMQUAL="$(split "$(streamlink "$URL"|grep 'Available streams')" ", "|\
 			grep -E "[0-9]"|\
 			dmenu -p "choose stream quality for $URL")"
-		streamlink -p mpv $URL $STREAMQUAL >/dev/null 2>&1 & ;;
-	*.png*|*.jpg*|*.jpe*|*.jpeg*|*.gif*)
+		streamlink -p mpv "$URL" "$STREAMQUAL" >/dev/null 2>&1 & ;;
+	*.png*|*.jp[eg]*|*.gif*)
 		IMGPATH="/tmp/$(lstrip "$URL" "*/")"
-		curl -sL "$URL" >"$IMGPATH"&&sxiv -pqa "$IMGPATH" & ;;
-	*.mp3*|*.m4a*|*.flac*|*.aiff*|*.opus*|*.ogg*|*.mp3?source*|*.wav*)
+		curl -sL "$URL" > "$IMGPATH" &&
+		sxiv -pqa "$IMGPATH" & ;;
+	*.mp3*|*.m4a*|*.flac*|*.aiff*|*.opus*|*.ogg*|*.wav*)
 		$TERMINAL -e mpv "$URL"& ;;
 	*.epub*|*.pdf*|*.djvu*)
 		BOOKPATH="/tmp/$(lstrip "$URL" "*/")"
@@ -86,7 +87,7 @@ case "$URL" in
 		if [ -f "$URL" ]; then
 			op "$URL"
 		else
-			$BROWSER "$URL" >/dev/null 2>&1 &
+			"$BROWSER" "$URL" >/dev/null 2>&1 &
 		fi ;;
 esac
 shift