commit cff6e94aaca8443b5d621bd43db6739446f458b1
parent de22a9a0b8ce5f56d7955115785132a933c4ba1c
Author: Jeff <dev@watertao.xyz>
Date: Thu, 26 Feb 2026 20:27:18 -0800
Updated dmenu, terminal calls
Updated DMENU_OPTS so the tao_dmenu.conf config file is to be populated
with one line of only dmenu options/flags.
Modified terminal calls for portability.
Updated all scripts to check for TERMINAL env var definition.
Diffstat:
6 files changed, 64 insertions(+), 30 deletions(-)
diff --git a/tao_bluetooth_connect.sh b/tao_bluetooth_connect.sh
@@ -11,8 +11,12 @@ then
fi
# optional configs
-a="$XDG_CONFIG_HOME/tao/tao_dmenu.conf" && [ -f "$a" ] && . "$a"
-export DMENU_OPTS="${DMENU_OPTS:-""}"
+if [ -z "$DMENU_OPTS" ]
+then
+ a="$HOME/.config/tao/tao_dmenu.conf" && [ -f "$a" ] && \
+ DMENU_OPTS=$(<"$a" sed -n '1p' | tr -d "\n")
+ export DMENU_OPTS="${DMENU_OPTS:-""}"
+fi
a=$(bluetoothctl devices | awk '{printf("%-10s %s\n", $3, $2)}' | \
$DMENU -i $DMENU_OPTS -p "[ connect to bluetooth device ]")
diff --git a/tao_copy.sh b/tao_copy.sh
@@ -12,6 +12,12 @@ if [ -z "$DMENU" ]; then
a="dmenu sxmo_dmenu.sh bemenu rofi"
for i in $a; do cmdf "$i" && DMENU="$i" && break; done
fi
+if [ -z "$DMENU_OPTS" ]
+then
+ a="$HOME/.config/tao/tao_dmenu.conf" && [ -f "$a" ] && \
+ DMENU_OPTS=$(<"$a" sed -n '1p' | tr -d "\n")
+ export DMENU_OPTS="${DMENU_OPTS:-""}"
+fi
cu(){ exit 0; }; trap cu INT
diff --git a/tao_notes.sh b/tao_notes.sh
@@ -10,16 +10,26 @@
cmdf(){ command -v "$1" >/dev/null 2>&1; }
# dmenu command
-a="dmenu sxmo_dmenu.sh bemenu rofi"
-for i in $a; do cmdf "$i" && dmenu="$i" && break; done
+if [ -z "$DMENU" ]
+then
+ a="dmenu sxmo_dmenu.sh bemenu rofi"
+ for i in $a; do cmdf "$i" && export DMENU="$i" && break; done
+fi
# term command
-a="st urxvt xterm sxmo_terminal.sh"
-for i in $a; do cmdf "$i" && term="$i" && break; done
+if [ -z "$TERMINAL" ]
+then
+ a="st urxvt xterm sxmo_terminal.sh"
+ for i in $a; do cmdf "$i" && export TERMINAL="$i" && break; done
+fi
# dmenu config
-a="$XDG_CONFIG_HOME/tao/tao_dmenu.conf" && [ -f "$a" ] && . "$a"
-dmenu_opts="${dmenu_opts:-""}"
+if [ -z "$DMENU_OPTS" ]
+then
+ a="$HOME/.config/tao/tao_dmenu.conf" && [ -f "$a" ] && \
+ DMENU_OPTS=$(<"$a" sed -n '1p' | tr -d "\n")
+ export DMENU_OPTS="${DMENU_OPTS:-""}"
+fi
cu(){ exit 1; }; trap cu INT
@@ -28,7 +38,7 @@ d=$HOME/.local/share/tao/notes
notesel(){
ls -1 "$d" | \
- "$dmenu" $dmenu_opts -p "Tao Notes" || return 1
+ "$DMENU" $DMENU_OPTS -p "Tao Notes" || return 1
}
fnote(){
@@ -39,7 +49,7 @@ fnote(){
[ -f "$g" ] && rm "$g"
return 0
else
- "$term" "$EDITOR" "$d/$f"
+ "$TERMINAL" -- "$EDITOR" "$d/$f"
return 1
fi
done && return 0 || return 1
diff --git a/tao_pactl_setsink.sh b/tao_pactl_setsink.sh
@@ -15,8 +15,11 @@ then
fi
# optional configs
-a="$XDG_CONFIG_HOME/tao/tao_dmenu.conf" && [ -f "$a" ] && . "$a"
-export DMENU_OPTS="${DMENU_OPTS:-""}"
+if [ -z "$DMENU_OPTS" ]
+then
+ a="$HOME/.config/tao/tao_dmenu.conf" && [ -f "$a" ] && \
+ DMENU_OPTS=$(<"$a" sed -n '1p' | tr -d "\n")
+fi
a=$(pactl list sinks | \
awk '{
@@ -35,7 +38,7 @@ a=$(pactl list sinks | \
sink=$2
state=" "
}}' | \
- $DMENU -i $DMENU_OPTS -p "[ audio sink select ]")
+ "$DMENU" -i $DMENU_OPTS -p "[ audio sink select ]")
[ -n "$a" ] && \
pactl set-default-sink ${a##* #}
diff --git a/tao_url.sh b/tao_url.sh
@@ -28,12 +28,16 @@ fi
trm="$TERMINAL"
# optional configs
-a="$XDG_CONFIG_HOME/tao/tao_dmenu.conf" && [ -f "$a" ] && . "$a"
-export DMENU_OPTS="${DMENU_OPTS:-""}"
+if [ -z "$DMENU_OPTS" ]
+then
+ a="$HOME/.config/tao/tao_dmenu.conf" && [ -f "$a" ] && \
+ DMENU_OPTS=$(<"$a" sed -n '1p' | tr -d "\n")
+ export DMENU_OPTS="${DMENU_OPTS:-""}"
+fi
dmo="-i $DMENU_OPTS"
-a="$XDG_CONFIG_HOME/tao/tao_url.conf" && [ -f "$a" ] && . "$a"
-ofile="$XDG_CONFIG_HOME/tao/tao_openers.conf"
+a="$HOME/.config/tao/tao_url.conf" && [ -f "$a" ] && . "$a"
+ofile="$HOME/.config/tao/tao_openers.conf"
TAO_QUERY_ENG="${TAO_QUERY_ENG:-"https://ddg.gg?q="}"
TAO_LOCAL_DIRS="${TAO_LOCAL_DIRS:-"$(printf "%s\n" "$HOME")"}"
TAO_EXEC_IN_TERM="${TAO_EXEC_IN_TERM:-"w3m links mpv"}"
@@ -41,7 +45,7 @@ TAO_DL_THEN_OPEN="${TAO_DL_THEN_OPEN:-"nsxiv mpv zathura"}"
# File types: Local(1)(default) Remote(2) Query(3)
ft=2
-cdir="$XDG_DATA_HOME/tao/url"
+cdir="$HOME/.local/share/tao/url"
qfile="${cdir}/query"
bfile="${cdir}/bookmark"
hfile="${cdir}/history"
@@ -88,8 +92,8 @@ dl_then_view()
dmenu_yn "[ Download then view? ]" && return 0
x="$(mktemp -d)"; [ ! -d "$x" ] && cu
- "$trm" wget --user-agent=Firefox "$u" -P "$x"
- "$trm" $p "$x"/* 2>$dn
+ "$trm" -- wget --user-agent=Firefox "$u" -P "$x"
+ "$trm" -- $p "$x"/* 2>$dn
dmenu_yn "[ Remove tmp files: $(ls -1 "$x"/) ? y/n ]" && \
"$trm" -d "$x" || rm -r "$x"
cu
@@ -140,9 +144,9 @@ file_action()
# held up by the yt-dlp process.
if [ -z "$FETCHING_LATEST" ]
then
- $trm -t "$p" tao_url.sh -y "$u" 1>$dn 2>&1
+ "$trm" -t "$p" -- tao_url.sh -y "$u" 1>$dn 2>&1
else
- $trm -t "$p" tao_url.sh -y "$u" 1>$dn 2>&1 &
+ "$trm" -t "$p" -- tao_url.sh -y "$u" 1>$dn 2>&1 &
fi
cu
fi
@@ -154,7 +158,7 @@ file_action()
# open term if needed
prnt "$TAO_EXEC_IN_TERM" | grep -q "${p%% *}" && [ $noterm -ne 1 ] && \
- $trm $p "$u" && cu
+ "$trm" -- $p "$u" && cu
# for all else just run it
$p "$u" && cu
@@ -162,8 +166,8 @@ file_action()
else
case "$(prnt "$(file --mime-type -b "$u")" | tr "[:upper:]" "[:lower:]")" in
*webp|*jpeg|*jpg|*png|*gif|*svg ) p="$imager" ;;
- *mp4|*m4a|*avi|*mpg|*ogg|*mp3|*flac|*flv|*matroska ) p="$trm $mpv" ;;
- *txt|*md|*text ) p="$trm $EDITOR" ;;
+ *mp4|*m4a|*avi|*mpg|*ogg|*mp3|*flac|*flv|*matroska ) p="$trm -- $mpv" ;;
+ *txt|*md|*text ) p="$trm -- $EDITOR" ;;
*pdf ) p="$pdf" ;;
* ) p="$sbrowser" ;;
esac
diff --git a/tao_youtube_query.sh b/tao_youtube_query.sh
@@ -1,9 +1,10 @@
#!/bin/sh
+#
# Query youtube for videos.
#
# Default - fetch list of latest vids of channels listed in config file:
-# $XDG_CONFIG_HOME/tao/tao_channel_fetch_latest.sites
+# $HOME/.config/tao/tao_channel_fetch_latest.sites
#
# -c "CHANNEL"
# Fetch videos from CHANNEL
@@ -16,7 +17,9 @@
#
# Requires dmenu, tao_url.sh, yt-dlp
# Optionally uses fully functional ps (not busybox ver)
+#
+# Defaults (fetching latest from channels list)
typ="d"
l=10
pts_title="Fetching latest channel videos..."
@@ -46,8 +49,12 @@ then
fi
# optional configs
-a="$XDG_CONFIG_HOME/tao/tao_dmenu.conf" && [ -f "$a" ] && . "$a"
-export DMENU_OPTS="${DMENU_OPTS:-""}"
+if [ -z "$DMENU_OPTS" ]
+then
+ a="$HOME/.config/tao/tao_dmenu.conf" && [ -f "$a" ] && \
+ DMENU_OPTS=$(<"$a" sed -n '1p' | tr -d "\n")
+ export DMENU_OPTS="${DMENU_OPTS:-""}"
+fi
dmo="$DMENU_OPTS"
# Safety first
@@ -66,7 +73,7 @@ t=$(mktemp)
dflt_chk()
{
# All video sites live in the following file
- yt_sites=$XDG_CONFIG_HOME/tao/tao_channel_fetch_latest.sites
+ yt_sites="$HOME/.config/tao/tao_channel_fetch_latest.sites"
if [ ! -s $yt_sites ]
then
<$dn "$dm" -i $dmo -p "<{ $yt_sites file empty. }>"
@@ -100,7 +107,7 @@ pts_open()
prnt_tty=""
if [ "$usepts" = "1" ]
then
- "$TERMINAL" -t "$pts_title $q" tail - 2>$dn &
+ "$TERMINAL" -t "$pts_title $q" -- tail - 2>$dn &
a="$!"
sleep 0.2
ttyno=$(ps -ax | \