summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzachir <zachir@librem.one>2025-08-30 01:09:18 -0500
committerzachir <zachir@librem.one>2025-08-30 01:09:18 -0500
commitf28d694879239d5d9c319185a278236d317a49b6 (patch)
tree3f684e05c6372c8f0fc0b9f126a184f3aaad68d4
parent7d3cbe8f708772e40608260590b717dea6735908 (diff)
Make sh scrips POSIX compliant
Using shellcheck, I went through all of them to make them standards compliant. I also tested as many as I could.
-rwxr-xr-xamg56
-rwxr-xr-xbm107
-rwxr-xr-xbrc21
-rwxr-xr-xbrowser2
-rwxr-xr-xbsc12
-rwxr-xr-xcustom-battery3
-rwxr-xr-xdmenu_books9
-rwxr-xr-xdmount31
-rwxr-xr-xdmpv25
-rwxr-xr-xdr4
-rwxr-xr-xfdc12
-rwxr-xr-xffc20
-rwxr-xr-xhypr-layout11
-rwxr-xr-xhyprswap.sh9
-rwxr-xr-xinfloop9
-rwxr-xr-xlwc20
-rwxr-xr-xmbc15
-rwxr-xr-xmprisctl12
-rwxr-xr-xpower_now33
-rwxr-xr-xqbc18
-rwxr-xr-xscrshot23
-rwxr-xr-xservicectl97
-rwxr-xr-xshasum11
-rwxr-xr-xslockd2
-rwxr-xr-xsonggrab58
-rwxr-xr-xswaylockd2
-rwxr-xr-xt17
-rwxr-xr-xtagimg12
-rwxr-xr-xtagmp334
-rwxr-xr-xtouchpad.sh8
-rwxr-xr-xvideo_download.sh10
31 files changed, 374 insertions, 329 deletions
diff --git a/amg b/amg
index 4a9297c..6551259 100755
--- a/amg
+++ b/amg
@@ -35,18 +35,18 @@ esac done
#{{{ print given args
printf "Received Tags:
-Artist: $ARTIST
-Album: $ALBUM
-Song: $TITLE
-Number: $TRACKNUM
-Year: $YEAR\n\n"
+Artist: %s
+Album: %s
+Song: %s
+Number: %s
+Year: %s\n\n" "$ARTIST" "$ALBUM" "$TITLE" "$TRACKNUM" "$YEAR"
#}}}
#{{{ fill in missing variables
# prompt to determine later tagging
if [ -z "$MODE" ]; then
printf "Will the link be for a [p]laylist, a[l]bum video, or [s]ong video? "
- read RESPONSE
+ read -r RESPONSE
case "$RESPONSE" in
p) MODE='album' ;;
l) MODE='split' ;;
@@ -59,7 +59,7 @@ fi
# prompt to get the URL
if [ -z "$URL" ]; then
printf "Enter the link: "
- read URL
+ read -r URL
printf "\n"
fi
#}}}
@@ -68,10 +68,10 @@ fi
# if song, don't download playlist
case "$MODE" in
s)
- SPLITTER_FLAGS="--no-playlist"
+ NO_PLAYLIST="yes"
;;
l)
- SPLITTER_FLAGS="--no-playlist"
+ NO_PLAYLIST="yes"
unset TITLE TRACKNUM
;;
p)
@@ -82,10 +82,10 @@ esac
#{{{ download the video(s)
printf "Starting download...\n\n"
-if [ "$(ls | wc -l)" -gt 0 ]; then
+if [ "$(find . | wc -l)" -gt 0 ]; then
printf "Already downloaded\n"
else
- yt-dlp $SPLITTER_FLAGS --format bestaudio --restrict-filenames "$URL"
+ yt-dlp ${NO_PLAYLIST:+"--no-playlist"} --format bestaudio --restrict-filenames "$URL"
fi
printf "Download stopped.\n\n"
#}}}
@@ -93,18 +93,18 @@ printf "Download stopped.\n\n"
#{{{ while loop to remove files from list
printf "\n\nDo you want to remove any tracks?\n\n"
while true; do
- ls | nl
- echo -n "Enter the line number of the file to remove:\n"
- read WHILE_RESPONSE
+ find . | nl
+ printf "Enter the line number of the file to remove:\n"
+ read -r WHILE_RESPONSE
[ -z "$WHILE_RESPONSE" ] && break
- rm -rf `ls | head -n "$WHILE_RESPONSE" | tail -1`
+ rm -rf "$(find . | head -n "$WHILE_RESPONSE" | tail -1)"
done
#}}}
#{{{ convert the downloaded files to mp3
printf "\n\nStarting to convert files..."
-for i in `ls *.m4a *.webm`; do
- imp3=`echo "$i" | sed 's/\.m4a$/.mp3/;s/\.webm$/.mp3/'`
+for i in *.m4a *.webm; do
+ imp3=$(echo "$i" | sed 's/\.m4a$/.mp3/;s/\.webm$/.mp3/')
[ ! -f "$imp3" ] && ffmpeg -i "$i" -acodec mp3 "$imp3" || echo "File not converted"
done
printf "Finished converting files.\n\n"
@@ -112,34 +112,34 @@ printf "Finished converting files.\n\n"
#{{{ tag files
printf "\n\n"
-for file in `ls *.mp3`; do
- printf "$file\n"
+for file in *.mp3; do
+ printf "%s\n" "$file"
if [ -z "$ARTIST" ]; then
printf "\nWho is the artist? "
- read ARTIST
+ read -r ARTIST
fi
if [ -z "$ALBUM" ]; then
printf "\nWhat is the album? "
- read ALBUM
+ read -r ALBUM
fi
if [ -z "$TITLE" ]; then
printf "\nWhat is the title? "
- read TITLE
+ read -r TITLE
fi
if [ -z "$TRACKNUM" ]; then
printf "\nWhat is the track number? "
- read TRACKNUM_
+ read -r TRACKNUM_
TRACKNUM="$(printf "%02d" "$TRACKNUM_")"
unset TRACKNUM_
fi
if [ -z "$YEAR" ]; then
printf "\nWhat is the release date? "
- read YEAR
+ read -r YEAR
fi
case "$TRACKNUM" in
[!0-9]*)
unset TRACKNUM
- printf "\n$TRACKNUM doesn't look like a track number!\n" 1>&2
+ printf "\n%s doesn't look like a track number!\n" "$TRACKNUM" 1>&2
;;
esac
FMT_ARTIST="$(echo "$ARTIST" | sed "s/[^[:alnum:].-]/_/g")"
@@ -150,13 +150,13 @@ for file in `ls *.mp3`; do
[ -n "$TITLE" ] && kid3-cli -c "set \"Title\" \"$TITLE\"" "$file"
[ -n "$TRACKNUM" ] && kid3-cli -c "set \"Track Number\" \"$TRACKNUM\"" "$file"
[ -n "$YEAR" ] && kid3-cli -c "set \"Date\" \"$YEAR\"" "$file"
- printf "\n\n$file\n"
+ printf "\n\n%s\n" "$file"
kid3-cli -c get "$file"
NEWFILENAME="${FMT_ARTIST}_-_${FMT_ALBUM}_-_${TRACKNUM:-00}_${FMT_TITLE}.mp3"
#NEWFILENAME="$(printf "%s" "$NEWFILENAME" | sed 's/ /_/g;s/[!@#$%^&*()-_=+{}\|;:,.<>/?`~'"\[\]\'\""']//g')"
- [ -n "${ARTIST}" -a -n "${ALBUM}" -a -n "${TITLE}" ] && mv "$file" "$NEWFILENAME"
+ [ -n "${ARTIST}" ] && [ -n "${ALBUM}" ] && [ -n "${TITLE}" ] && mv "$file" "$NEWFILENAME"
unset TITLE TRACKNUM
- printf "$NEWFILENAME\n\n\n"
+ printf "%s\n\n\n" "$NEWFILENAME"
done
printf "\n\nDone.\n"
diff --git a/bm b/bm
index 2499162..08bde92 100755
--- a/bm
+++ b/bm
@@ -18,41 +18,46 @@ printhelp () {
#{{{ BROWSERSBYCMD
# Native binaries
-type basilisk >/dev/null 2>&1 && CANBSC="bsc"
-type brave >/dev/null 2>&1 && CANBRA="brave"
-type firedragon >/dev/null 2>&1 && CANFDC="fdc"
-type firefox >/dev/null 2>&1 && CANFFC="ffc"
-type librewolf >/dev/null 2>&1 && CANLWC="lwc"
-type mullvad-browser >/dev/null 2>&1 && CANMBC="mbc"
-type qutebrowser >/dev/null 2>&1 && CANQBC="qbc"
+type basilisk >/dev/null 2>&1 && BSC="bsc"
+type brave >/dev/null 2>&1 && BRC="brc" && BRA="brave"
+type firedragon >/dev/null 2>&1 && FDC="fdc"
+type firefox >/dev/null 2>&1 && FFC="ffc"
+type librewolf >/dev/null 2>&1 && LWC="lwc"
+type mullvad-browser >/dev/null 2>&1 && MBC="mbc"
+type qutebrowser >/dev/null 2>&1 && QBC="qbc"
[ -n "$WAYLAND_DISPLAY" ] && \
- type wl-copy >/dev/null 2>&1 && CANCLIPB="clip"
-[ -z "$WAYLAND_DISPLAY" -a -n "$DISPLAY" ] && \
- type xclip >/dev/null 2>&1 && CANCLIPB="clip"
+ type wl-copy >/dev/null 2>&1 && CLIPB="clip"
+[ -z "$WAYLAND_DISPLAY" ] && [ -n "$DISPLAY" ] && \
+ type xclip >/dev/null 2>&1 && CLIPB="clip"
# Flatpaks
if type flatpak >/dev/null; then
LIST="$(flatpak list)"
- echo "$LIST" | grep -q "org.mozilla.firefox" && CANFFC="ffc"
- echo "$LIST" | grep -q "com.brave.Browser" && CANBRA="brave"
+ echo "$LIST" | grep -q "org.mozilla.firefox" && FFC="ffc"
+ echo "$LIST" | grep -q "com.brave.Browser" && BRA="brave"
echo "$LIST" | grep -q "io.gitlab.librewolf-community" && \
- CANLWC="lwc"
+ LWC="lwc"
echo "$LIST" | grep -q "org.qutebrowser.qutebrowser" && \
- CANQBC="qbc"
+ QBC="qbc"
fi
+BROWSERSINSTALLED="$(printf "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s" \
+ "$BSC" "${BSC:+\n}" "$BRC" "${BRC:+\n}" "$BRA" "${BRA:+\n}" \
+ "$FDC" "${FDC:+\n}" "$FFC" "${FFC:+\n}" "$LWC" "${LWC:+\n}" \
+ "$MBC" "${MBC:+\n}" "$QBC" "${QBC:+\n}" "$CLIPB")"
+
#}}}
#{{{ getopts
-unset ARG BSC BRA FDC FFC LWC MBC QBC CLIPB URL
+unset ARG BSC BRA FDC FFC LWC MBC QBC CLIPB URL SEL
while getopts "hbBcrflmqxwd:u:" o; do case "${o}" in
- b) BSC="y" ;;
- B) BRA="y" ;;
- r) FDC="y" ;;
- f) FFC="y" ;;
- l) LWC="y" ;;
- m) MBC="y" ;;
- q) QBC="y" ;;
- c) CLIPB="y" ;;
- d) ARG="$ARG-d $OPTARG ";;
+ b) SEL="BSC" ;;
+ B) SEL="BRA" ;;
+ r) SEL="FDC" ;;
+ f) SEL="FFC" ;;
+ l) SEL="LWC" ;;
+ m) SEL="MBC" ;;
+ q) SEL="QBC" ;;
+ c) SEL="CLIPB" ;;
+ d) ARG="$OPTARG";;
u) URL="$OPTARG " ;;
*) printhelp ;;
esac done
@@ -60,64 +65,56 @@ esac done
#{{{ clip
clip () {
- ARG="$@"
- if [ -n "$WAYLAND_DISPLAY" -a -n "$CANCLIPB" ]; then
- echo -n ${URL%% } | wl-copy ${ARG%u}
- elif [ -n "$DISPLAY" -a -n "$CANCLIPB" ]; then
- echo -n ${URL%% } | xclip -selection clipboard ${ARG%-u}
+ if [ -n "$WAYLAND_DISPLAY" ] && [ -n "$CANCLIPB" ]; then
+ printf "%s" "${URL%% }" | wl-copy "$*"
+ elif [ -n "$DISPLAY" ] && [ -n "$CANCLIPB" ]; then
+ printf "%s" "${URL%% }" | xclip -selection clipboard "$*"
fi
}
#}}}
#{{{ bra
bra () {
- if [ -n "$CANBRA" ]; then
+ if [ -n "$BRA" ]; then
if type brave >/dev/null 2>&2; then
- brave $@
+ brave "$1"
else
- flatpak run com.brave.Browser $@
+ flatpak run com.brave.Browser "$1"
fi
fi
}
#}}}
#{{{ main
-if [ -n "$BSC$FDC$FFC$LWC$QBC" ]; then
- ARG="$ARG -u $URL"
+if [ -n "$SEL" ]; then
+ case "$SEL" in
+ "BRA") exec bra "$URL" ;;
+ "BRC") exec brc ${ARG:+"-d"} ${ARG:+"$ARG"} ${URL:+"-u"} ${URL:+"$URL"} ;;
+ "BSC") exec bsc ${ARG:+"-d"} ${ARG:+"$ARG"} ${URL:+"-u"} ${URL:+"$URL"} ;;
+ "FDC") exec fdc ${ARG:+"-d"} ${ARG:+"$ARG"} ${URL:+"-u"} ${URL:+"$URL"} ;;
+ "FFC") exec ffc ${ARG:+"-d"} ${ARG:+"$ARG"} ${URL:+"-u"} ${URL:+"$URL"} ;;
+ "LWC") exec lwc ${ARG:+"-d"} ${ARG:+"$ARG"} ${URL:+"-u"} ${URL:+"$URL"} ;;
+ "MBC") exec mbc ${ARG:+"-d"} ${ARG:+"$ARG"} ${URL:+"-u"} ${URL:+"$URL"} ;;
+ "QBC") exec qbc ${ARG:+"-d"} ${ARG:+"$ARG"} ${URL:+"-u"} ${URL:+"$URL"} ;;
+ "CLIPB") exec clip ${URL:+"$URL"} ;;
+ esac
fi
-echo $ARG
-[ -n "$BRA" ] && bra $ARG
-[ -n "$BSC" ] && exec bsc $ARG
-[ -n "$FDC" ] && exec fdc $ARG
-[ -n "$FFC" ] && exec ffc $ARG
-[ -n "$LWC" ] && exec lwc $ARG
-[ -n "$MBC" ] && exec mbc $ARG
-[ -n "$QBC" ] && exec qbc $ARG
-[ -n "$CLIPB" ] && exec clip $ARG
if [ -z "$CLIPB$BRA$BSC$FDC$FFC$LWC$MBC$QBC" ]; then
- BROWSERSINSTALLED=""
- for i in CLIPB BRA BSC FDC FFC LWC QBC MBC; do
- if [ -n "$(eval "echo \$CAN${i}")" ]; then
- [ -n "$BROWSERSINSTALLED" ] && STARTLINE="\n" || STARTLINE="" ;
- #[ -z "$URL" -a "$i" = "CLIPB" ] && continue
- BROWSERSINSTALLED="${BROWSERSINSTALLED}${STARTLINE}$(eval "echo \$CAN${i}")"
- fi
- done
echo "$BROWSERSINSTALLED"
[ -z "$BROWSERSINSTALLED" ] && \
printf "No suitable browsers!\n" && exit 1
- BROWSERSEL="$(printf "$BROWSERSINSTALLED" | dmenu -l 10 -p "browser?" $ARG)"
+ BROWSERSEL="$(echo "$BROWSERSINSTALLED" | dmenu -l 10 -p "browser?" ${ARG:+"$ARG"})"
[ -z "$BROWSERSEL" ] && \
printf "No browser selected!\n" && exit 1
case "$BROWSERSEL" in
clip)
- clip $ARG
+ clip "$ARG" ${URL:+"-u"} ${URL+"$URL"}
;;
brave)
- bra $URL
+ bra ${URL:+"$URL"}
;;
*)
- $BROWSERSEL $ARG -u $URL
+ $BROWSERSEL ${ARG:+"-d"} ${ARG:+"$ARG"} ${URL:+"-u"} ${URL+"$URL"}
;;
esac
fi
diff --git a/brc b/brc
index 4a7dcc9..c4230bf 100755
--- a/brc
+++ b/brc
@@ -2,16 +2,16 @@
#{{{ printhelp
printhelp () {
- printf "lwc: librewolf menu interface.\n"
- printf " -u URL ) pass URL to browser\n"
- printf " -d ARGS ) pass ARGS to menu command\n"
+ printf "brc: brave profile menu interface.\n"
+ printf " -u URL ) pass URL to browser\n"
+ printf " -d ARG ) pass ARG to menu command\n"
exit
}
#}}}
#{{{ getopts
while getopts "hd:u:" o; do case "${o}" in
- d) DMENU_ARGS="$OPTARG" ;;
+ d) ARG="$OPTARG" ;;
u) URL="$OPTARG" ;;
*) printhelp ;;
esac done
@@ -19,21 +19,14 @@ esac done
#{{{ Native Profiles
if [ -d ~/.local/share/brave_profiles ]; then
- NATIVE_PROFILES=`ls -1 ~/.local/share/brave_profiles`
+ PROFILES=$(ls -1 ~/.local/share/brave_profiles)
else
- unset NATIVE_PROFILES
+ unset PROFILES
fi
#}}}
-#{{{ Add Profiles
-if [ -n "$NATIVE_PROFILES" -a -n "$FLATPAK_PROFILES" ]; then
- INT="\n"
-fi
-PROFILES="$NATIVE_PROFILES$INT$FLATPAK_PROFILES"
-#}}}
-
#{{{ Choose Profiles
-CHOSEN=`printf "$PROFILES" | dmenu -l 15 -p brave $DMENU_ARGS`
+CHOSEN=$(printf "%s" "$PROFILES" | dmenu -l 15 -p brave ${ARG:+"$ARG"})
[ -z "$CHOSEN" ] && exit 2
brave-profiles "$CHOSEN" "$URL"
#}}}
diff --git a/browser b/browser
index 835c5cd..4bf8775 100755
--- a/browser
+++ b/browser
@@ -1,2 +1,2 @@
#!/bin/sh
-bm -u $@
+bm -u "$*"
diff --git a/bsc b/bsc
index 22973cf..1259cde 100755
--- a/bsc
+++ b/bsc
@@ -3,23 +3,23 @@
#{{{ printhelp
printhelp () {
printf "bsc: basilisk menu interface.\n"
- printf " -u URL ) pass URL to browser\n"
- printf " -d ARGS ) pass ARGS to menu command\n"
+ printf " -u URL ) pass URL to browser\n"
+ printf " -d ARG ) pass ARG to menu command\n"
exit
}
#}}}
#{{{ getopts
while getopts "hd:u:" o; do case "${o}" in
- d) DMENU_ARGS="$OPTARG" ;;
+ d) ARG="$OPTARG" ;;
u) URL="$OPTARG" ;;
*) printhelp ;;
esac done
#}}}
#{{{ Choose Profiles
-PROFILES=`grep 'Path=' ~/.moonchild\ productions/basilisk/profiles.ini | cut -d'.' -f2`
-CHOSEN=`echo "$PROFILES" | dmenu -l 15 -p "basilisk" $DMENU_ARGS`
+PROFILES=$(grep 'Path=' ~/.moonchild\ productions/basilisk/profiles.ini | cut -d'.' -f2)
+CHOSEN=$(echo "$PROFILES" | dmenu -l 15 -p "basilisk" ${ARG:+"$ARG"})
[ -z "$CHOSEN" ] && exit 2
-exec basilisk -P "$CHOSEN" $URL
+exec basilisk -P "$CHOSEN" "$URL"
#}}}
diff --git a/custom-battery b/custom-battery
index 3f07991..ce5ec3d 100755
--- a/custom-battery
+++ b/custom-battery
@@ -7,5 +7,4 @@ tooltip="$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep 'time t
[ "$percentage" -lt "15" ] && class="battery_crit"
grep -qE '^Charging$' /sys/class/power_supply/BAT0/status && class="battery_charging"
-printf "{\"text\": \"battery\", \"alt\": \"bat\", \"tooltip\": \"$tooltip\", \"class\": \"${class}\", \"percentage\": ${percentage}"
-printf "}"
+printf "{\"text\": \"battery\", \"alt\": \"bat\", \"tooltip\": \"%s\", \"class\": \"%s\", \"percentage\": %s}" "$tooltip" "$class" "$percentage"
diff --git a/dmenu_books b/dmenu_books
index 3b6f1fe..a579476 100755
--- a/dmenu_books
+++ b/dmenu_books
@@ -5,15 +5,12 @@ printhelp () {
}
while getopts "hd:" o; do case "${o}" in
- d) ARGS="$ARGS$OPTARG " ;;
+ d) ARG="$OPTARG" ;;
*) printhelp ;;
esac done
-DMENU="dmenu"
-DEFARGS="-l 15 -p"
-
-BOOK=`ls ~/Documents/shared | $DMENU $DEFARGS \"books\" $ARGS`
+BOOK=$(find ~/Documents/shared | dmenu -l 15 -p \"books\" ${ARG:+"$ARG"})
[ -z "$BOOK" ] && exit 1
-zathura "~/Documents/shared/$BOOK"
+zathura "$HOME/Documents/shared/$BOOK"
diff --git a/dmount b/dmount
index 6a52d15..2f1a3c2 100755
--- a/dmount
+++ b/dmount
@@ -5,7 +5,7 @@ printhelp () {
}
show () {
- printf "$@\n"
+ printf "%s\n" "$*"
notify-send "dmount" "$@"
}
@@ -15,7 +15,7 @@ error_msg () {
}
while getopts "hpPugd:" o; do case "${o}" in
- d) ARGS="$ARGS $OPTARG" ;;
+ d) ARG="$OPTARG" ;;
p) USE_USER_ID="y" ;;
P) unset USE_USER_ID ;;
u) USERID="$OPTARG" ;;
@@ -40,8 +40,8 @@ is_crypto () {
}
unlock_crypto () {
- NAME="$(cat /dev/null | dmenu -l 15 -p "Name" $ARGS)"
- PASSWORD="$(cat /dev/null | dmenu -l 15 -p "Password" $PASSARG $ARGS)"
+ NAME="$(dmenu -l 15 -p "Name" ${ARG:+"$ARG"} < /dev/null)"
+ PASSWORD="$(dmenu -l 15 -p "Password" -P ${ARG:+"$ARG"} < /dev/null)"
echo "$PASSWORD" | sudo cryptsetup open "$1" "$NAME" || FAILED="y"
unset PASSWORD
[ -n "$FAILED" ] && \
@@ -50,7 +50,7 @@ unlock_crypto () {
}
-get_available () { sudo lsblk -oPATH,SIZE,FSTYPE,MOUNTPOINT | tail -n+2 | while read i; do
+get_available () { sudo lsblk -oPATH,SIZE,FSTYPE,MOUNTPOINT | tail -n+2 | while read -r i; do
[ -z "$(echo "$i" | awk '{print $3}')" ] && continue
[ -n "$(echo "$i" | awk '{print $4}')" ] && continue
#echo "${i%% *}"
@@ -68,37 +68,36 @@ getmount() { \
test -z "$mp" && \
exit 1
if [ ! -d "$mp" ]; then
- mkdiryn=$(printf "No\\nYes" | dmenu $ARGS -l 15 -p "$mp does not exist. Create it?") || \
+ mkdiryn=$(printf "No\\nYes" | dmenu ${ARG:+"$ARG"} -l 15 -p "$mp does not exist. Create it?") || \
exit 1
[ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo mkdir -p "$mp")
fi
}
mount_device () {
- getmount "/mnt /media /mount /home -maxdepth 3 -type d -empty $alreadymounted"
+ getmount "/mnt /media /mount /home -maxdepth 3 -type d -empty"
if [ -n "$USE_USER_ID" ]; then
- if [ -n "$USERID" -a -n "$GROUPID" ]; then
- MOUNTPROPS="-o uid=$USERID,gid=$GROUPID"
+ if [ -n "$USERID" ] && [ -n "$GROUPID" ]; then
+ MOUNTPROPS="uid=$USERID,gid=$GROUPID"
elif [ -n "$USERID" ]; then
- MOUNTPROPS="-o uid=$USERID"
+ MOUNTPROPS="uid=$USERID"
elif [ -n "$GROUPID" ]; then
- MOUNTPROPS="-o gid=$GROUPID"
+ MOUNTPROPS="gid=$GROUPID"
else
- MOUNTPROPS="-o $(grep "$(whoami)" /etc/passwd | sed 's/:/ /g' | awk '{print "uid="$3",gid="$4}')"
+ MOUNTPROPS="$(grep "$(whoami)" /etc/passwd | sed 's/:/ /g' | awk '{print "uid="$3",gid="$4}')"
fi
fi
if [ -n "$IS_HFS" ]; then
- MOUNTARGS="-t hfsplus"
if [ -z "$MOUNTPROPS" ]; then
- MOUNTPROPS="-o force,rw"
+ MOUNTPROPS="force,rw"
else
MOUNTPROPS="${MOUNTPROPS},force,rw"
fi
fi
- sudo mount $MOUNTARGS $MOUNTPROPS "$1" "$mp" && show "Mounted successfully\n"
+ sudo mount ${IS_HFS:+"-t"} ${IS_HFS:+"hfsplus"} ${MOUNTPROPS:+"-o"} ${MOUNTPROPS:+"$MOUNTPROPS"} "$1" "$mp" && show "Mounted successfully\n"
}
-DEVICE="$(get_available | dmenu -l 15 -p "Devices" $ARGS )"
+DEVICE="$(get_available | dmenu -l 15 -p "Devices" ${ARG:+"$ARG"} )"
[ -z "$DEVICE" ] && exit 1
echo "$DEVICE" | grep -q "hfsplus" && IS_HFS="y"
chosen="${DEVICE%% *}"
diff --git a/dmpv b/dmpv
index d0dc214..dc98c80 100755
--- a/dmpv
+++ b/dmpv
@@ -1,6 +1,6 @@
#!/bin/sh
-cd ~/Videos
+cd ~/Videos || exit
case "$@" in
"-l")
LOOP="true"
@@ -12,12 +12,12 @@ esac
playvid () {
while true; do
- VIDEO=$(printf ".\n%s\n" "$(ls)" | uniq | dmenu -l 15 "$@")
- [ -z $VIDEO ] && exit
+ VIDEO=$(find "$HOME/Videos" | uniq | dmenu -l 15)
+ [ -z "$VIDEO" ] && exit
if [ "$VIDEO" = "." ]; then
break;
fi
- [ -d $VIDEO ] && cd $VIDEO && continue
+ [ -d "$VIDEO" ] && cd "$VIDEO" && continue
[ -f "$VIDEO" ] && break
pwd
done
@@ -25,12 +25,11 @@ playvid () {
}
printhelp () {
- printf \
- "Usage: dmpv [-l] [-h]\n" \
- "dmpv is a simple dmenu interface for playing content with mpv\n" \
- "dmpv assumes videos are stored in ~/Videos\n" \
- " -h\t\tprint this help message\n" \
- " -l\t\trun the prompt again after mpv exits\n"
+ printf "Usage: dmpv [-l] [-h]\n"
+ printf "dmpv is a simple dmenu interface for playing content with mpv\n"
+ printf "dmpv assumes videos are stored in ~/Videos\n"
+ printf " -h\t\tprint this help message\n"
+ printf " -l\t\trun the prompt again after mpv exits\n"
}
if [ -n "$HELP" ]; then
@@ -39,8 +38,6 @@ elif [ -n "$LOOP" ]; then
while true; do
playvid || exit 0
done
-fi
-
-playvid
- done
+else
+ playvid
fi
diff --git a/dr b/dr
index 2c4eb71..ac0a078 100755
--- a/dr
+++ b/dr
@@ -7,7 +7,7 @@ for i in "$@"; do
done
if [ -n "$LINKNOTCOPY" ]; then
- ln -sf $(dragon-drop -x -t | sed 's_^file://__') .
+ ln -sf "$(dragon-drop -x -t | sed 's_^file://__')" .
else
- cp -rv $(dragon-drop -x -t | sed 's_^file://__') .
+ cp -rv "$(dragon-drop -x -t | sed 's_^file://__')" .
fi
diff --git a/fdc b/fdc
index 1437c2b..6cf3942 100755
--- a/fdc
+++ b/fdc
@@ -3,23 +3,23 @@
#{{{ printhelp
printhelp () {
printf "fdc: firedragon menu interface.\n"
- printf " -u URL ) pass URL to browser\n"
- printf " -d ARGS ) pass ARGS to menu command\n"
+ printf " -u URL ) pass URL to browser\n"
+ printf " -d ARG ) pass ARG to menu command\n"
exit
}
#}}}
#{{{ getopts
while getopts "hd:u:" o; do case "${o}" in
- d) DMENU_ARGS="$OPTARG" ;;
+ d) ARG="$OPTARG" ;;
u) URL="$OPTARG" ;;
*) printhelp ;;
esac done
#}}}
#{{{ Choose Profiles
-PROFILES=`grep 'Path=' ~/.firedragon/profiles.ini | cut -d'.' -f2`
-CHOSEN=`echo "$PROFILES" | dmenu $DMENU_ARGS -p "firedragon"`
+PROFILES=$(grep 'Path=' ~/.firedragon/profiles.ini | cut -d'.' -f2)
+CHOSEN=$(echo "$PROFILES" | dmenu ${ARG:+"$ARG"} -p "firedragon")
[ -z "$CHOSEN" ] && exit 2
-exec firedragon -P "$CHOSEN" $URL
+exec firedragon -P "$CHOSEN" "$URL"
#}}}
diff --git a/ffc b/ffc
index b40ec75..4fcbdd4 100755
--- a/ffc
+++ b/ffc
@@ -3,15 +3,15 @@
#{{{ printhelp
printhelp () {
printf "ffc: firefox menu interface.\n"
- printf " -u URL ) pass URL to browser\n"
- printf " -d ARGS ) pass ARGS to menu command\n"
+ printf " -u URL ) pass URL to browser\n"
+ printf " -d ARG ) pass ARG to menu command\n"
exit
}
#}}}
#{{{ getopts
while getopts "hd:u:" o; do case "${o}" in
- d) DMENU_ARGS="$OPTARG" ;;
+ d) ARG="$OPTARG" ;;
u) URL="$OPTARG" ;;
*) printhelp ;;
esac done
@@ -19,7 +19,7 @@ esac done
#{{{ Native Profiles
if [ -f ~/.mozilla/firefox/profiles.ini ]; then
- NATIVE_PROFILES=`grep 'Path=' ~/.mozilla/firefox/profiles.ini | cut -d'.' -f2`
+ NATIVE_PROFILES=$(grep 'Path=' ~/.mozilla/firefox/profiles.ini | cut -d'.' -f2)
else
unset NATIVE_PROFILES
fi
@@ -27,25 +27,25 @@ fi
#{{{ Flatpak Profiles
if [ -f ~/.var/app/org.mozilla.firefox/.mozilla/firefox/profiles.ini ]; then
- FLATPAK_PROFILES=`grep 'Path=' ~/.var/app/org.mozilla.firefox/.mozilla/firefox/profiles.ini | cut -d'.' -f2 | sed 's/$/ F/g'`
+ FLATPAK_PROFILES=$(grep 'Path=' ~/.var/app/org.mozilla.firefox/.mozilla/firefox/profiles.ini | cut -d'.' -f2 | sed 's/$/ F/g')
else
unset FLATPAK_PROFILES
fi
#}}}
#{{{ Add Profiles
-if [ -n "$NATIVE_PROFILES" -a -n "$FLATPAK_PROFILES" ]; then
+if [ -n "$NATIVE_PROFILES" ] && [ -n "$FLATPAK_PROFILES" ]; then
INT="\n"
fi
PROFILES="$NATIVE_PROFILES$INT$FLATPAK_PROFILES"
#}}}
#{{{ Choose Profiles
-CHOSEN=`printf "$PROFILES" | dmenu -l 15 -p "firefox" $DMENU_ARGS`
+CHOSEN=$(printf "%s" "$PROFILES" | dmenu -l 15 -p "firefox" ${ARG:+"$ARG"})
[ -z "$CHOSEN" ] && exit 2
-if `echo "$CHOSEN" | grep -qE ' F$'`; then
- exec flatpak run org.mozilla.Firefox -P `echo "$CHOSEN" | sed 's/ F$//'` $URL
+if echo "$CHOSEN" | grep -qE ' F$'; then
+ exec flatpak run org.mozilla.Firefox -P "$(echo "$CHOSEN" | sed 's/ F$//')" "$URL"
else
- exec firefox -P "$CHOSEN" $URL
+ exec firefox -P "$CHOSEN" "$URL"
fi
#}}}
diff --git a/hypr-layout b/hypr-layout
index 0981c52..c177bb6 100755
--- a/hypr-layout
+++ b/hypr-layout
@@ -1,9 +1,18 @@
#!/bin/sh
-while getopts "dmt" o; do case "${o}" in
+printhelp () {
+ printf "hypr-layout: sets the hyprland layout.\n"
+ printf "\t-d) dwindle layout\n"
+ printf "\t-m) master layout\n"
+ printf "\t-t) toggle between master and dwindle\n"
+ exit 1
+}
+
+while getopts "dmst" o; do case "${o}" in
d) DWINDLE="y" && unset MASTER ;;
m) MASTER="y" && unset DWINDLE ;;
t) TOGGLE="y" ;;
+ *) printhelp ;;
esac done
if [ -n "$TOGGLE" ]; then
diff --git a/hyprswap.sh b/hyprswap.sh
index b9d48b2..f7b8d64 100755
--- a/hyprswap.sh
+++ b/hyprswap.sh
@@ -1,7 +1,16 @@
#!/bin/sh
+
+printhelp () {
+ printf "hyprswap.sh: swap two one window columns in hyprscrolling\n"
+ printf "\t-l) swap focused column to the left\n"
+ printf "\t-r) swap focused column to the right\n"
+ exit 1
+}
+
while getopts "lr" o; do case "${o}" in
l) DIR='l' ;;
r) DIR='r' ;;
+ *) printhelp ;;
esac done
case "$DIR" in
diff --git a/infloop b/infloop
index dde7c86..b73fe97 100755
--- a/infloop
+++ b/infloop
@@ -1,19 +1,16 @@
#!/usr/bin/env bash
-MUSTBETRUE=y
unset MUSTBEFALSE
count=1
-for i in $@; do
+for i in "$@"; do
count=$(printf "%s + 1\n" "$count" | bc)
[ -n "$BUFFERREAD" ] && BUFFERTIME="$i" && unset BUFFERREAD && continue
case "$i" in
"-t")
- MUSTBETRUE=y
unset MUSTBEFALSE
;;
"-f")
MUSTBEFALSE=y
- unset MUSTBETRUE
;;
"-c")
break 2
@@ -27,8 +24,8 @@ for i in $@; do
esac
done
-if [ $# -ge $count ]; then
- COMMAND="${@:$count}"
+if [ $# -ge "$count" ]; then
+ COMMAND="${*:$count}"
else
printf "No command given!\n" && exit 1
fi
diff --git a/lwc b/lwc
index c4c70c2..6c68174 100755
--- a/lwc
+++ b/lwc
@@ -3,15 +3,15 @@
#{{{ printhelp
printhelp () {
printf "lwc: librewolf menu interface.\n"
- printf " -u URL ) pass URL to browser\n"
- printf " -d ARGS ) pass ARGS to menu command\n"
+ printf " -u URL ) pass URL to browser\n"
+ printf " -d ARG ) pass ARG to menu command\n"
exit
}
#}}}
#{{{ getopts
while getopts "hd:u:" o; do case "${o}" in
- d) DMENU_ARGS="$OPTARG" ;;
+ d) ARG="$OPTARG" ;;
u) URL="$OPTARG" ;;
*) printhelp ;;
esac done
@@ -19,7 +19,7 @@ esac done
#{{{ Native Profiles
if [ -f ~/.librewolf/profiles.ini ]; then
- NATIVE_PROFILES=`grep 'Path=' ~/.librewolf/profiles.ini | cut -d'.' -f2`
+ NATIVE_PROFILES=$(grep 'Path=' ~/.librewolf/profiles.ini | cut -d'.' -f2)
else
unset NATIVE_PROFILES
fi
@@ -27,25 +27,25 @@ fi
#{{{ Flatpak Profiles
if [ -f ~/.var/app/io.gitlab.librewolf-community/.librewolf/profiles.ini ]; then
- FLATPAK_PROFILES=`grep 'Path=' ~/.var/app/io.gitlab.librewolf-community/.librewolf/profiles.ini | cut -d'.' -f2 | sed 's/$/ F/g'`
+ FLATPAK_PROFILES=$(grep 'Path=' ~/.var/app/io.gitlab.librewolf-community/.librewolf/profiles.ini | cut -d'.' -f2 | sed 's/$/ F/g')
else
unset FLATPAK_PROFILES
fi
#}}}
#{{{ Add Profiles
-if [ -n "$NATIVE_PROFILES" -a -n "$FLATPAK_PROFILES" ]; then
+if [ -n "$NATIVE_PROFILES" ] && [ -n "$FLATPAK_PROFILES" ]; then
INT="\n"
fi
PROFILES="$NATIVE_PROFILES$INT$FLATPAK_PROFILES"
#}}}
#{{{ Choose Profiles
-CHOSEN=`printf "$PROFILES" | dmenu -l 15 -p librewolf $DMENU_ARGS`
+CHOSEN=$(printf "%s" "$PROFILES" | dmenu -l 15 -p librewolf ${ARG:+"$ARG"})
[ -z "$CHOSEN" ] && exit 2
-if `echo "$CHOSEN" | grep -qE ' F$'`; then
- exec flatpak run io.gitlab.librewolf-community -P `echo "$CHOSEN" | sed 's/ F$//'` $URL
+if echo "$CHOSEN" | grep -qE ' F$'; then
+ exec flatpak run io.gitlab.librewolf-community -P "$(echo "$CHOSEN" | sed 's/ F$//')" "$URL"
else
- exec librewolf -P "$CHOSEN" $URL
+ exec librewolf -P "$CHOSEN" "$URL"
fi
#}}}
diff --git a/mbc b/mbc
index 292c3e3..56fc92b 100755
--- a/mbc
+++ b/mbc
@@ -3,15 +3,15 @@
#{{{ printhelp
printhelp () {
printf "mbc: mullvad-browser menu interface.\n"
- printf " -u URL ) pass URL to browser\n"
- printf " -d ARGS ) pass ARGS to menu command\n"
+ printf " -u URL ) pass URL to browser\n"
+ printf " -d ARG ) pass ARG to menu command\n"
exit
}
#}}}
#{{{ getopts
while getopts "hd:u:" o; do case "${o}" in
- d) DMENU_ARGS="$OPTARG" ;;
+ d) ARG="$OPTARG" ;;
u) URL="$OPTARG" ;;
*) printhelp ;;
esac done
@@ -19,21 +19,18 @@ esac done
#{{{ Native Profiles
if [ -f ~/.mullvad/mullvadbrowser/profiles.ini ]; then
- NATIVE_PROFILES=`grep 'Path=' ~/.mullvad/mullvadbrowser/profiles.ini | cut -d'.' -f2`
+ NATIVE_PROFILES=$(grep 'Path=' ~/.mullvad/mullvadbrowser/profiles.ini | cut -d'.' -f2)
else
unset NATIVE_PROFILES
fi
#}}}
#{{{ Add Profiles
-if [ -n "$NATIVE_PROFILES" ]; then
- INT="\n"
-fi
PROFILES="$NATIVE_PROFILES"
#}}}
#{{{ Choose Profiles
-CHOSEN=`printf "$PROFILES" | dmenu -l 15 -p "mullvad-browser" $DMENU_ARGS`
+CHOSEN=$(printf "%s" "$PROFILES" | dmenu -l 15 -p "mullvad-browser" ${ARG:+"$ARG"})
[ -z "$CHOSEN" ] && exit 2
-exec mullvad-browser -P "$CHOSEN" $URL
+exec mullvad-browser -P "$CHOSEN" "$URL"
#}}}
diff --git a/mprisctl b/mprisctl
index b784523..0d71b94 100755
--- a/mprisctl
+++ b/mprisctl
@@ -5,11 +5,11 @@ printhelp () {
}
while getopts "hd:" o; do case "${o}" in
- d) ARGS="$ARGS$OPTARG " ;;
+ d) ARG="$OPTARG" ;;
*) printhelp ;;
esac done
-DMENU_PROMPT=$(playerctl -l | dmenu $ARGS -p 'Players:')
+DMENU_PROMPT=$(playerctl -l | dmenu ${ARG:+"$ARG"} -p 'Players:')
[ -z "$DMENU_PROMPT" ] && exit 1
PLAYERCONTROLS_PROMPT=$(echo "play-pause
@@ -21,7 +21,7 @@ previous
position
volume
status
-shuffle" | dmenu $ARGS -p 'Action:')
+shuffle" | dmenu ${ARG:+"$ARG"} -p 'Action:')
[ -z "$PLAYERCONTROLS_PROMPT" ] && exit 1
case "$PLAYERCONTROLS_PROMPT" in
@@ -29,12 +29,12 @@ case "$PLAYERCONTROLS_PROMPT" in
playerctl -p "$DMENU_PROMPT" "$PLAYERCONTROLS_PROMPT"
;;
"position")
- VALUE=$(seq -100 5 +100 | grep -v '^0$' | sed 's/^[0-9]/\+&/' | dmenu $ARGS -p 'Position:')
+ VALUE=$(seq -100 5 +100 | grep -v '^0$' | sed 's/^[0-9]/\+&/' | dmenu ${ARG:+"$ARG"} -p 'Position:')
[ -z "$VALUE" ] && exit 1
playerctl -p "$DMENU_PROMPT" "$PLAYERCONTROLS_PROMPT" "$VALUE"
;;
"volume")
- VALUE=$(set 0 5 100 |dmenu $ARGS -p 'Volume:')
+ VALUE=$(set 0 5 100 |dmenu ${ARG:+"$ARG"} -p 'Volume:')
[ -z "$VALUE" ] && exit 1
playerctl -p "$DMENU_PROMPT" "$PLAYERCONTROLS_PROMPT" "$VALUE"
;;
@@ -46,7 +46,7 @@ case "$PLAYERCONTROLS_PROMPT" in
VALUE=$(echo "On
Off
Toggle
-Status" | dmenu $ARGS -p "Shuffle:")
+Status" | dmenu ${ARG:+"$ARG"} -p "Shuffle:")
[ -z "$VALUE" ] && exit 1
case "$VALUE" in
"On"|"Off"|"Toggle")
diff --git a/power_now b/power_now
index 718e98d..f8efd8a 100755
--- a/power_now
+++ b/power_now
@@ -2,6 +2,15 @@
unset QUIET MILLIWATTS TOTAL
BATTERY="ALL"
+printhelp () {
+ printf "power_now: get the current power draw from the battery.\n"
+ printf "\t-q) print only the number\n"
+ printf "\t-m) use milliwatts instead of watts\n"
+ printf "\t-t) use the total of all batteries\n"
+ printf "\t-b X) use battery X\n"
+ exit 1
+}
+
while getopts "b:mqt" o; do case "${o}" in
q) QUIET="y" ;;
m) MILLIWATTS="y" ;;
@@ -10,6 +19,7 @@ while getopts "b:mqt" o; do case "${o}" in
BATTERY="ALL"
;;
b) BATTERY="$OPTARG" ;;
+ *) printhelp ;;
esac done
error () {
@@ -21,14 +31,15 @@ error () {
case "$BATTERY" in
"ALL")
- ls -1 /sys/class/power_supply | grep -q 'BAT' || error "Are there no batteries?"
- for battery in $(ls -1 /sys/class/power_supply | grep 'BAT'); do
+ find /sys/class/power_supply -name 'BAT*' || error "Are there no batteries?"
+ for battery in /sys/class/power_supply/BAT*; do
+ battery="$(basename "$battery")"
DIRNAME="/sys/class/power_supply/${battery}"
if [ -f "${DIRNAME}/power_now" ]; then
if [ -n "${MILLIWATTS}" ]; then
- POWER="$(cat "${DIRNAME}/power_now" | awk '{print $1/1e3}' | head -1)"
+ POWER="$(awk '{print $1/1e3}' "${DIRNAME}/power_now" | head -1)"
else
- POWER="$(cat "${DIRNAME}/power_now" | awk '{print $1/1e6}' | head -1)"
+ POWER="$(awk '{print $1/1e6}' "${DIRNAME}/power_now" | head -1)"
fi
elif [ -f "${DIRNAME}/current_now" ]; then
if [ -n "${MILLIWATTS}" ]; then
@@ -41,9 +52,9 @@ case "$BATTERY" in
TOTALPOWER="$(echo "${TOTALPOWER}" "${POWER}" | awk '{print $1+$2}'| head -1)"
else
if [ -z "${QUIET}" ]; then
- printf "Power in ${battery} is "
+ printf "Power in %s is " "${battery}"
fi
- printf "${POWER}"
+ printf "%s" "${POWER}"
if [ -n "${MILLIWATTS}" ]; then
echo " mW"
else
@@ -55,7 +66,7 @@ case "$BATTERY" in
if [ -z "${QUIET}" ]; then
printf "Total power is "
fi
- printf "${TOTALPOWER}"
+ printf "%s" "${TOTALPOWER}"
if [ -n "${MILLIWATTS}" ]; then
echo " mW"
else
@@ -68,9 +79,9 @@ case "$BATTERY" in
[ -d "${DIRNAME}" ] || error "No such battery!"
if [ -f "${DIRNAME}/power_now" ]; then
if [ -n "${MILLIWATTS}" ]; then
- POWER="$(cat "${DIRNAME}/power_now" | awk '{print $1/1e3}' | head -1)"
+ POWER="$(awk '{print $1/1e3}' "${DIRNAME}/power_now" | head -1)"
else
- POWER="$(cat "${DIRNAME}/power_now" | awk '{print $1/1e6}' | head -1)"
+ POWER="$(awk '{print $1/1e6}' "${DIRNAME}/power_now" | head -1)"
fi
elif [ -f "${DIRNAME}/current_now" ]; then
if [ -n "${MILLIWATTS}" ]; then
@@ -80,9 +91,9 @@ case "$BATTERY" in
fi
fi
if [ -z "${QUIET}" ]; then
- printf "Power in ${BATTERY} is "
+ printf "Power in %s is " "${BATTERY}"
fi
- printf "${POWER}"
+ printf "%s" "${POWER}"
if [ -n "${MILLIWATTS}" ]; then
echo " mW"
else
diff --git a/qbc b/qbc
index b0dad2e..dfe688d 100755
--- a/qbc
+++ b/qbc
@@ -3,36 +3,36 @@
#{{{ printhelp
printhelp () {
printf "qbc: qutebrowser menu interface.\n"
- printf " -u URL ) pass URL to browser\n"
- printf " -d ARGS ) pass ARGS to menu command\n"
+ printf " -u URL ) pass URL to browser\n"
+ printf " -d ARG ) pass ARGS to menu command\n"
exit
}
#}}}
#{{{ getopts
while getopts "hd:u:" o; do case "${o}" in
- d) DMENU_ARGS="$OPTARG" ;;
+ d) ARG="$OPTARG" ;;
u) URL="$OPTARG" ;;
*) printhelp ;;
esac done
#}}}
#{{{ Get Sessions
-SESSIONS=`qbpm list`
-[ -z "$SESSIONS" ] && qutebrowser $@ && exit
+SESSIONS=$(qbpm list)
+[ -z "$SESSIONS" ] && qutebrowser "$@" && exit
#}}}
#{{{ Select Session
-CHOSEN=`printf "default\n$SESSIONS" | dmenu -l 15 -p "qutebrowser" $DMENU_ARGS`
+CHOSEN=$(printf "default\n%s" "$SESSIONS" | dmenu -l 15 -p "qutebrowser" ${ARG:+"$ARG"})
[ -z "$CHOSEN" ] && exit 2
if [ -n "$CHOSEN" ]; then
if [ "$CHOSEN" = "default" ]; then
- qutebrowser $URL
+ qutebrowser "$URL"
else
- if [ -z `echo "$SESSIONS" | grep "$CHOSEN"` ]; then
+ if echo "$SESSIONS" | { ! grep -q "$CHOSEN" ; }; then
qbpm new "$CHOSEN"
fi
- qbpm launch "$CHOSEN" $URL
+ qbpm launch "$CHOSEN" "$URL"
#qutebrowser -B "$HOME/.local/share/$CHOSEN"
fi
fi
diff --git a/scrshot b/scrshot
index 8982b56..e400b8e 100755
--- a/scrshot
+++ b/scrshot
@@ -2,19 +2,30 @@
output_text () {
notify-send "$1" "$2"
- printf "$2\n"
+ printf "%s\n" "$2"
}
-while getopts "hwxd:s:o:" o; do case "${o}" in
+printhelp () {
+ printf "scrshot: takes a screenshot and saves to a filename.\n"
+ printf "\tw) force wayland backend\n"
+ printf "\tx) force x backend\n"
+ printf "\td X) provide X as arg to dmenu\n"
+ printf "\ts X) provide X as arg to screenshot util\n"
+ printf "\to X) save file to X\n"
+ exit 1
+}
+
+while getopts "wxd:s:o:" o; do case "${o}" in
w)
SCRSH="grim"
;;
x)
SCRSH="maim"
;;
- d) DARG="$OPTARG $DARG" ;;
- s) SARG="$OPTARG $SARG" ;;
+ d) DARG="$OPTARG" ;;
+ s) SARG="$OPTARG" ;;
o) FILENAME="$OPTARG" ;;
+ *) printhelp ;;
esac done
if [ -z "$SCRSH" ]; then
@@ -34,10 +45,10 @@ TEMPNAME="$(mktemp -u | xargs basename)"
TEMPFILE="${TEMPNAME#tmp.}.png"
sleep 0.1
-"$SCRSH" $SARG "$TEMPFILE"
+"$SCRSH" ${SARG:+"$SARG"} "$TEMPFILE"
if [ -z "$FILENAME" ]; then
- FILENAME="$(echo "$TEMPFILE" | dmenu $DARGS -p "What to name the file?")"
+ FILENAME="$(echo "$TEMPFILE" | dmenu ${DARG:+"$DARG"} -p "What to name the file?")"
if [ -z "$FILENAME" ]; then
rm -rf "$TEMPFILE"
output_text "Deleted" "No filename selected, file deleted!"
diff --git a/servicectl b/servicectl
index 698d3e4..5e438a7 100755
--- a/servicectl
+++ b/servicectl
@@ -11,21 +11,27 @@ fi
reverse_array () {
unset _b
- for a in $@; do
+ for a; do
[ -n "$_b" ] && _b="$a $_b" || _b="$a"
done
- echo $_b
+ echo "$_b"
}
## FIND INIT
-INIT="$(basename $(readlink $(type init)))"
-if `type s6-rc >/dev/null 2>&1`; then
+INIT="$(basename "$(readlink "$(type init)")")"
+if type s6-rc >/dev/null 2>&1; then
S6=y
else
unset S6
fi
+if type dinitctl >/dev/null 2>&1; then
+ DINIT=y
+else
+ unset DINIT
+fi
+
case "$INIT" in
"openrc-init") OPENRC=y ; unset DINIT RUNIT SYSTEMD ;;
"runit-init") RUNIT=y ; unset DINIT OPENRC SYSTEMD ;;
@@ -36,7 +42,7 @@ esac
## CHECK INIT HELPER
if [ -n "$RUNIT" ]; then
- if `type rsm >/dev/null 2>&1`; then
+ if type rsm >/dev/null 2>&1; then
RSM=y
else
unset RSM
@@ -53,69 +59,81 @@ fi
start_service () {
if [ -n "$S6" ]; then
- $ROOTCMD s6-rc -u change $1
+ $ROOTCMD s6-rc -u change "$1"
+ fi
+ if [ -n "$DINIT" ]; then
+ $ROOTCMD dinitctl start "$1"
fi
if [ -n "$OPENRC" ]; then
- $ROOTCMD rc-service $1 start
+ $ROOTCMD rc-service "$1" start
elif [ -n "$RUNIT" ]; then
if [ -n "$RSM" ]; then
- $ROOTCMD rsm start $1
+ $ROOTCMD rsm start "$1"
else
- $ROOTCMD sv start $1
+ $ROOTCMD sv start "$1"
fi
elif [ -n "$SYSTEMD" ]; then
- $ROOTCMD systemctl start $1
+ $ROOTCMD systemctl start "$1"
fi
}
stop_service () {
if [ -n "$S6" ]; then
- $ROOTCMD s6-rc -d change $1
+ $ROOTCMD s6-rc -d change "$1"
+ fi
+ if [ -n "$DINIT" ]; then
+ $ROOTCMD dinitctl stop "$1"
fi
if [ -n "$OPENRC" ]; then
- $ROOTCMD rc-service $1 stop
+ $ROOTCMD rc-service "$1" stop
elif [ -n "$RUNIT" ]; then
if [ -n "$RSM" ]; then
- $ROOTCMD rsm stop $1
+ $ROOTCMD rsm stop "$1"
else
- $ROOTCMD sv stop $1
+ $ROOTCMD sv stop "$1"
fi
elif [ -n "$SYSTEMD" ]; then
- $ROOTCMD systemctl stop $1
+ $ROOTCMD systemctl stop "$1"
fi
}
enable_service () {
if [ -n "$S6" ]; then
- $ROOTCMD s6-service add default $1
+ $ROOTCMD s6-service add default "$1"
+ fi
+ if [ -n "$DINIT" ]; then
+ $ROOTCMD dinitctl enable "$1"
fi
if [ -n "$OPENRC" ]; then
- $ROOTCMD rc-update add $1 default
+ $ROOTCMD rc-update add "$1" default
elif [ -n "$RUNIT" ]; then
if [ -n "$RSM" ]; then
- $ROOTCMD rsm enable $1
+ $ROOTCMD rsm enable "$1"
else
print "enabling runit services manually not presently supported; use rsm\n"
fi
elif [ -n "$SYSTEMD" ]; then
- $ROOTCMD systemctl enable $1
+ $ROOTCMD systemctl enable "$1"
fi
}
disable_service () {
if [ -n "$S6" ]; then
- $ROOTCMD s6-service delete default $1
+ $ROOTCMD s6-service delete default "$1"
+ fi
+ if [ -n "$DINIT" ]; then
+ $ROOTCMD dinitctl disable "$1"
fi
if [ -n "$OPENRC" ]; then
- $ROOTCMD rc-update del $1 default
+ $ROOTCMD rc-update del "$1" default
elif [ -n "$RUNIT" ]; then
if [ -n "$RSM" ]; then
- $ROOTCMD rsm disable $1
+ $ROOTCMD rsm disable "$1"
else
print "disabling runit services manually not presently supported; use rsm\n"
fi
elif [ -n "$SYSTEMD" ]; then
- $ROOTCMD systemctl disable $1
+ $ROOTCMD systemctl disable "$1"
fi
}
@@ -123,6 +141,9 @@ status_service () {
if [ -n "$S6" ]; then
$ROOTCMD s6-rc -a list
fi
+ if [ -n "$DINIT" ]; then
+ $ROOTCMD dinitcheck
+ fi
if [ -n "$OPENRC" ]; then
$ROOTCMD rc-service status
elif [ -n "$RUNIT" ]; then
@@ -141,36 +162,38 @@ status_service () {
case "$1" in
"start")
for i in "${@:2}"; do
- printf "start $i\n"
- start_service $i
+ printf "start %s\n" "$i"
+ start_service "$i"
done
;;
"stop")
for i in "${@:2}"; do
- printf "stop $i\n"
- stop_service $i
+ printf "stop %s\n" "$i"
+ stop_service "$i"
done
;;
"enable")
for i in "${@:2}"; do
- printf "enable $i\n"
- enable_service $i
+ printf "enable %s\n" "$i"
+ enable_service "$i"
done
;;
"disable")
for i in "${@:2}"; do
- printf "disable $i\n"
- disable_service $i
+ printf "disable %s\n" "$i"
+ disable_service "$i"
done
;;
"restart")
- for i in `reverse_array ${@:2}`; do
- printf "stop $i\n"
- stop_service $i
+ read -ra services < <(echo "${@:2}")
+ read -ra reversed < <(reverse_array "${services[@]}")
+ for service in "${reversed[@]}"; do
+ printf "stop %s\n" "$service"
+ stop_service "$service"
done
- for i in ${@:2}; do
- printf "start $i\n"
- start_service $i
+ for service in "${services[@]}"; do
+ printf "start %s\n" "$service"
+ start_service "$service"
done
;;
"status")
diff --git a/shasum b/shasum
index 18efefd..ce40ba2 100755
--- a/shasum
+++ b/shasum
@@ -1,22 +1,21 @@
#!/bin/sh
-for i in "$@"; do
+for i; do
case $i in
"-a") BITS="y"
continue
;;
*)
- ARGS="$i "
+ ARGS="$i"
;;
esac
if [ -n "$BITS" ]; then
- case $i in
+ case "$i" in
256|512)
- PROGRAM="sha"$i"sum"
+ PROGRAM="sha${i}sum"
;;
esac
unset BITS
fi
done
-cat - | "$PROGRAM" $ARGS
-echo "$PROGRAM $ARGS"
+"$PROGRAM" ${ARGS:+"$ARGS"}
diff --git a/slockd b/slockd
index 64fefb6..e1db6cc 100755
--- a/slockd
+++ b/slockd
@@ -1,6 +1,6 @@
#!/bin/sh
-WLCNT="$(pgrep -U$(whoami) -x slockd | wc -l)"
+WLCNT="$(pgrep -U"$(whoami)" -x slockd | wc -l)"
[ "${WLCNT:-0}" -gt "2" ] && printf "Already running!\n" && exit
while true; do
diff --git a/songgrab b/songgrab
index 82040e4..20423f0 100755
--- a/songgrab
+++ b/songgrab
@@ -1,7 +1,7 @@
#!/bin/sh
# check flags
-for i in $@; do
+for i; do
case "$i" in
"-"*) unset GETARTIST GETALBUM GETTITLE
esac
@@ -55,16 +55,16 @@ for i in $@; do
esac
done
-ARTIST=`echo $ARTIST | sed 's/^ //'`
-ALBUM=`echo $ALBUM | sed 's/^ //'`
-TITLE=`echo $TITLE | sed 's/^ //'`
+ARTIST="$(echo "$ARTIST" | sed 's/^ //')"
+ALBUM="$(echo "$ALBUM" | sed 's/^ //')"
+TITLE="$(echo "$TITLE" | sed 's/^ //')"
printf "Received Tags:
-Artist: $ARTIST
-Album: $ALBUM
-Song: $TITLE
-Number: $TRACKNUM
-Year: $YEAR\n\n"
+Artist: %s
+Album: %s
+Song: %s
+Number: %s
+Year: %s\n\n" "$ARTIST" "$ALBUM" "$TITLE" "$TRACKNUM" "$YEAR"
notify-send "songgrab started" "Received Tags:
Album: $ALBUM
@@ -76,44 +76,50 @@ printf "\n"
# prompt to determine later tagging
if [ -z "$SPLITTER_SELECTION" ]; then
printf "Will the link be for a [p]laylist, a[l]bum video, or [s]ong video? "
- read SPLITTER_SELECTION
+ read -r SPLITTER_SELECTION
printf "\n"
fi
# prompt to get the URL
if [ -z "$URL" ]; then
printf "Enter the link: "
- read URL
+ read -r URL
printf "\n"
fi
# if song, don't download playlist
if [ "$SPLITTER_SELECTION" = "s" ]; then
- SPLITTER_FLAGS="--no-playlist"
+ NO_PLAYLIST="yes"
fi
# download the video(s)
notify-send "songgrab" "Starting download..."
printf "Starting download..."
-ls | grep -q "$(echo $URL | cut -d'=' -f2 | cut -d'&' -f1)" && echo "Already downloaded" || yt-dlp $SPLITTER_FLAGS --format bestaudio --restrict-filenames "$URL"
+MATCHSTRING="$(echo "$URL" | cut -d'=' -f2 | cut -d'&' -f1)"
+for file in ./*; do
+ case "$file" in
+ *${MATCHSTRING}*) true ;;
+ *) yt-dlp ${NO_PLAYLIST:+"--no-playlist"} --format bestaudio --restrict-filenames "$URL" ;;
+ esac
+done
notify-send "songgrab" "Download stopped."
printf "Download stopped."
# while loop to remove files from list
printf "Do you want to remove any tracks?\n\n"
while true; do
- ls | nl
- echo -n "Enter the line number: "
- read WHILE_RESPONSE
+ find ./* | nl
+ printf "Enter the line number: "
+ read -r WHILE_RESPONSE
[ -z "$WHILE_RESPONSE" ] && break
- rm -rf `ls | head -n "$WHILE_RESPONSE" | tail -1`
+ rm -rf "$(find . | head -n "$WHILE_RESPONSE" | tail -1)"
done
# convert the downloaded files to mp3
printf "Starting to convert files..."
notify-send "songgrab" "Starting to convert files..."
-for i in `ls *.m4a *.webm`; do
- imp3=`echo "$i" | sed 's/\.m4a$/.mp3/;s/\.webm$/.mp3/'`
+for i in *.m4a *.webm; do
+ imp3=$(echo "$i" | sed 's/\.m4a$/.mp3/;s/\.webm$/.mp3/')
notify-send "songgrab" "Converting $i to $imp3"
[ ! -f "$imp3" ] && ffmpeg -i "$i" -acodec mp3 "$imp3" || echo "File not converted"
done
@@ -123,19 +129,13 @@ notify-send "songgrab" "Finished converting files."
# fix names for suggestions
vimv
-# determine tagmp3 flags
-FLAGS=""
-[ -n "$ARTIST" ] && FLAGS="$FLAGS -a $ARTIST"
-[ -n "$ALBUM" ] && FLAGS="$FLAGS -A $ALBUM"
-[ -n "$TITLE" ] && FLAGS="$FLAGS -t $TITLE"
-[ -n "$TRACKNUM" ] && FLAGS="$FLAGS -T $TRACKNUM"
-[ -n "$YEAR" ] && FLAGS="$FLAGS -y $YEAR"
-
# tag songs with tagmp3
notify-send "songgrab" "Tagging songs..."
printf "Tagging songs..."
-for i in `ls *.mp3`; do
- tagmp3 $FLAGS "$i"
+for i in *.mp3; do
+ tagmp3 ${ARTIST:+"-a"} ${ARTIST:+"$ARTIST"} ${ALBUM:+"-A"} ${ALBUM:+"$ALBUM"} \
+ ${TITLE:+"-t"} ${TITLE:+"$TITLE"} ${TRACKNUM:+"-T"} ${TRACKNUM:+"$TRACKNUM"} \
+ ${YEAR:+"-y"} ${YEAR:+"$YEAR"} "$i"
done
notify-send "songgrab" "Done."
printf "Done.\n\n"
diff --git a/swaylockd b/swaylockd
index dae45b3..b331c3a 100755
--- a/swaylockd
+++ b/swaylockd
@@ -1,6 +1,6 @@
#!/bin/sh
-WLCNT="$(pgrep -U$(whoami) -x swaylockd | wc -l)"
+WLCNT="$(pgrep -U"$(whoami)" -x swaylockd | wc -l)"
[ "${WLCNT:-0}" -gt "2" ] && printf "Already running!\n" && exit
while true; do
diff --git a/t b/t
index fd62d0a..be59d54 100755
--- a/t
+++ b/t
@@ -4,26 +4,35 @@ unset KILL SPAWN
MODE="t"
+printhelp () {
+ printf "t: toggle/restart/kill a process\n"
+ printf "t [-tr] [--] process [proc_args]\n"
+ printf "\t-t) toggle (kill if running, start if not)\n"
+ printf "\t-r) restart (kill and start again whether running or not)\n"
+ exit 1;
+}
+
while getopts "tr-" o; do case "${o}" in
t) MODE="t" ;;
r) MODE="r" ;;
-) break ;;
+ *) printhelp ;;
esac done
SPAWN="$(echo "$@" | sed 's/^.*-[-tr] //')"
-KILL="$(echo $SPAWN | cut -d' ' -f1)"
+KILL="$(echo "$SPAWN" | cut -d' ' -f1)"
-[ -z "${MODE}" -o -z "$SPAWN" ] && exit
+[ -z "${MODE}" ] || [ -z "$SPAWN" ] && exit
case "${MODE}" in
t)
if pgrep -x "$KILL"; then
- killall "$KILL" 2>&1 >/dev/null
+ killall "$KILL" >/dev/null 2>&1
else
$SPAWN &
fi
;;
r)
- killall "$KILL" 2>&1 >/dev/null
+ killall "$KILL" >/dev/null 2>&1
sleep 0.1
$SPAWN &
;;
diff --git a/tagimg b/tagimg
index 109e7bd..c8bee44 100755
--- a/tagimg
+++ b/tagimg
@@ -1,7 +1,7 @@
#!/bin/sh
# check for flags
-for i in $@; do
+for i; do
case "$i" in
"-"*) unset DIRSFLAG LOCALFLAG
;;
@@ -9,7 +9,7 @@ for i in $@; do
[ -n "$DIRSFLAG" ] && unset LOCALFLAG
[ -n "$LOCALFLAG" ] && unset DIRSFLAG
[ -n "$THUMBFLAG" ] && THUMBNAIL="$i" && unset THUMBFLAG
- [ -n "$FILEFLAG" ] && FILENAME="$(printf "$i\n$FILENAME" | paste -s -d'|')" && unset FILEFLAG
+ [ -n "$FILEFLAG" ] && FILENAME="$(printf "$i\n%s" "$FILENAME" | paste -s -d'|')" && unset FILEFLAG
case "$i" in
"-d")
DIRSFLAG="y"
@@ -33,11 +33,11 @@ done
[ -z "$THUMBNAIL" ] && THUMBNAIL="thumb.jpg"
if [ -n "$DIRSFLAG" ]; then
- ls | while read i; do
+ find ./* | while read -r i; do
[ ! -d "$i" ] && continue
- ls "$i"| while read j; do
+ find "$i"/* | while read -r j; do
[ ! -d "$j" ] && continue
- ls "$i/$j" | while read k; do
+ find "$i/$j"/* | while read -r k; do
[ ! -f "$k" ] && continue
case "$k" in
*.mp3 | *.flac )
@@ -50,7 +50,7 @@ if [ -n "$DIRSFLAG" ]; then
elif [ -n "$LOCALFLAG" ]; then
[ -z "$FILENAME" ] && exit 1
IFS='|'
- for i in "$FILENAME"; do
+ for i in $FILENAME; do
mid3v2 -p "$THUMBNAIL" "$i"
done
unset IFS
diff --git a/tagmp3 b/tagmp3
index c6bfe4f..3474a90 100755
--- a/tagmp3
+++ b/tagmp3
@@ -1,9 +1,9 @@
#!/bin/sh
-FILENAME=`echo $@ | rev | cut -d' ' -f1 | rev`
+FILENAME="$(echo "$*" | rev | cut -d' ' -f1 | rev)"
# check for flags
-for i in $@; do
+for i; do
case "$i" in
"-"*) unset ARTISTFLAG ALBUMFLAG SONGFLAG
;;
@@ -32,50 +32,50 @@ for i in $@; do
esac
done
-ARTISTNAME=`echo $ARTISTNAME | sed 's/^ //'`
-ALBUMNAME=`echo $ALBUMNAME | sed 's/^ //'`
-SONGNAME=`echo $SONGNAME | sed 's/^ //'`
+ARTISTNAME="$(echo "$ARTISTNAME" | sed 's/^ //')"
+ALBUMNAME="$(echo "$ALBUMNAME" | sed 's/^ //')"
+SONGNAME="$(echo "$SONGNAME" | sed 's/^ //')"
-echo "\n$FILENAME\n"
+printf "\n%s\n\n" "$FILENAME"
# guess artist name from title
-ARTISTNAME_GUESS=`echo "$FILENAME" | cut -d'-' -f1 | sed 's/_*$//;s/_/ /g'`
+ARTISTNAME_GUESS="$(echo "$FILENAME" | cut -d'-' -f1 | sed 's/_*$//;s/_/ /g')"
# guess album name from title
-ALBUMNAME_GUESS=`echo "$FILENAME" | cut -d'-' -f2 | sed 's/^_*//;s/_*$//;s/_/ /g'`
+ALBUMNAME_GUESS="$(echo "$FILENAME" | cut -d'-' -f2 | sed 's/^_*//;s/_*$//;s/_/ /g')"
# guess track number from title
-TRACKNUMBER_GUESS=`echo "$FILENAME" | cut -d'-' -f3 | cut -d'_' -f2`
+TRACKNUMBER_GUESS="$(echo "$FILENAME" | cut -d'-' -f3 | cut -d'_' -f2)"
# guess song name from title
-SONGNAME_GUESS=`echo "$FILENAME" | cut -d'-' -f3 | sed 's/^_[0-9]*_//;s/_/ /g;s/\.mp3$//;s/\.flac$//'`
+SONGNAME_GUESS="$(echo "$FILENAME" | cut -d'-' -f3 | sed 's/^_[0-9]*_//;s/_/ /g;s/\.mp3$//;s/\.flac$//')"
# get the artist name input
-[ -z "$ARTISTNAME" ] && echo "Input the Artist name:\nGuessed name is $ARTISTNAME_GUESS" && read ARTISTNAME
+[ -z "$ARTISTNAME" ] && printf "Input the Artist name:\nGuessed name is %s" "$ARTISTNAME_GUESS" && read -r ARTISTNAME
[ -z "$ARTISTNAME" ] && ARTISTNAME="$ARTISTNAME_GUESS"
echo "$ARTISTNAME"
# get the album name input
-[ -z "$ALBUMNAME" ] && printf "Input the Album name:\nGuessed name is %s" "$ALBUMNAME_GUESS" && read ALBUMNAME
+[ -z "$ALBUMNAME" ] && printf "Input the Album name:\nGuessed name is %s" "$ALBUMNAME_GUESS" && read -r ALBUMNAME
[ -z "$ALBUMNAME" ] && ALBUMNAME="$ALBUMNAME_GUESS"
echo "$ALBUMNAME"
# get the track number input
-[ -z "$TRACKNUMBER" ] && printf "Input the track number:\nGuessed number is %s" "$TRACKNUMBER_GUESS" && read TRACKNUMBER
+[ -z "$TRACKNUMBER" ] && printf "Input the track number:\nGuessed number is %s" "$TRACKNUMBER_GUESS" && read -r TRACKNUMBER
[ -z "$TRACKNUMBER" ] && TRACKNUMBER="$TRACKNUMBER_GUESS"
echo "$TRACKNUMBER"
# get the song name input
-[ -z "$SONGNAME" ] && printf "Input the song name:\nGuessed name is %s" "$SONGNAME_GUESS" && read SONGNAME
+[ -z "$SONGNAME" ] && printf "Input the song name:\nGuessed name is %s" "$SONGNAME_GUESS" && read -r SONGNAME
[ -z "$SONGNAME" ] && SONGNAME="$SONGNAME_GUESS"
echo "$SONGNAME"
# get the year input
-[ -z "$YEARNUMBER" ] && echo "Input the year number:" && read YEARNUMBER
-[ ! -z "$YEARNUMBER" ] && mid3v2 -y "$YEARNUMBER" $FILENAME
+[ -z "$YEARNUMBER" ] && echo "Input the year number:" && read -r YEARNUMBER
+[ -n "$YEARNUMBER" ] && mid3v2 -y "$YEARNUMBER" "$FILENAME"
# set tags for file
-mid3v2 -a "$ARTISTNAME" -A "$ALBUMNAME" -t "$SONGNAME" -T "$TRACKNUMBER" $FILENAME
+mid3v2 -a "$ARTISTNAME" -A "$ALBUMNAME" -t "$SONGNAME" -T "$TRACKNUMBER" "$FILENAME"
diff --git a/touchpad.sh b/touchpad.sh
index bb864e9..2a41ea4 100755
--- a/touchpad.sh
+++ b/touchpad.sh
@@ -6,21 +6,21 @@ export STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status"
enable_touchpad() {
printf "true" >"$STATUS_FILE"
notify-send -u normal "Enabling touchpad"
- hyprctl keyword '$LAPTOP_TP_ENABLED' "true" -r
+ hyprctl keyword "\$LAPTOP_TP_ENABLED" "true" -r
}
disable_touchpad() {
printf "false" >"$STATUS_FILE"
notify-send -u normal "Disabling touchpad"
- hyprctl keyword '$LAPTOP_TP_ENABLED' "false" -r
+ hyprctl keyword "\$LAPTOP_TP_ENABLED" "false" -r
}
if ! [ -f "$STATUS_FILE" ]; then
enable_touchpad
else
- if [ $(cat "$STATUS_FILE") = "true" ]; then
+ if [ "$(cat "$STATUS_FILE")" = "true" ]; then
disable_touchpad
- elif [ $(cat "$STATUS_FILE") = "false" ]; then
+ elif [ "$(cat "$STATUS_FILE")" = "false" ]; then
enable_touchpad
fi
fi
diff --git a/video_download.sh b/video_download.sh
index ffbc4f7..acf52c9 100755
--- a/video_download.sh
+++ b/video_download.sh
@@ -3,20 +3,18 @@
VIDE_DIR="/var/tank/videos/Videos/"
PLAY_DIR="/var/tank/videos/Playlists/"
-PLAY_SUBS="$(ls -1 ${PLAY_DIR})"
-
LAST_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/video_download"
get_videos () {
- cd "$VIDE_DIR"
+ cd "$VIDE_DIR" || exit 1
yt-dlp "$(cat url.txt)"
date '+%s' > "${LAST_FILE}.video.txt"
}
get_playlists () {
- cd "$PLAY_DIR"
- ls -1 | while read subdir; do
- cd "$PLAY_DIR/$subdir"
+ cd "$PLAY_DIR" || exit 1
+ find ./* -maxdepth 1 -type d | while read -r subdir; do
+ cd "$PLAY_DIR/$subdir" || exit 1
yt-dlp "$(cat url.txt)"
done
}