personal dotfiles: my Hyprland config
appstore: add installed status in alpine
Zach DeCook 2023-10-16
parent 90ea8ad · commit 8888578
-rwxr-xr-x.config/sxmo/userscripts/appstore.sh14
1 files changed, 13 insertions, 1 deletions
diff --git a/.config/sxmo/userscripts/appstore.sh b/.config/sxmo/userscripts/appstore.sh
index 5196f52..1f28116 100755
--- a/.config/sxmo/userscripts/appstore.sh
+++ b/.config/sxmo/userscripts/appstore.sh
@@ -107,6 +107,18 @@ pkgNames(){
}
+pkgInstalled(){
+ case "$ID_LIKE" in
+ "alpine")
+ tee /tmp/appstoreapps | xargs -r apk info -e |sed 's/.\+/✅ \0/g' | cat - /tmp/appstoreapps |sed 's/^[a-z]/🟩 \0/g'| sort -i |uniq -f1
+ ;;
+ *)
+ cat - |sed 's/.\+/❓ \0/g'
+ printf "I don't know how to check installed status from commands in '%s'.\n" "$ID_LIKE" > /dev/stderr
+ ;;
+ esac
+}
+
## Menus
topMenu(){
@@ -122,7 +134,7 @@ menuName(){
typ="$(echo "$Menus" | grep "$name " | cut -f2)"
# shellcheck disable=SC2016
grep='^\$icon_'"$typ"' '
- pkg="$(listApps | grep "$grep" |cut -f2|pkgNames|awk 'BEGIN{print ".."} ($0){print} END{print "exit"}'|sxmo_dmenu.sh -i -p "$name")"
+ pkg="$(listApps | grep "$grep" |cut -f2|pkgNames|pkgInstalled|awk 'BEGIN{print ".."} ($0){print} END{print "exit"}'|sxmo_dmenu.sh -i -p "$name"|cut -d' ' -f2)"
if test "$pkg" = "exit" || ! test "$pkg"; then
exit
elif test "$pkg" = ".."; then