personal dotfiles: my Hyprland config
| -rwxr-xr-x | .config/sxmo/userscripts/appstore.sh | 14 |
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 |