Add waybar function for apt

Can fetch the current number of available package updates, then allow
installation by clicking.
This commit is contained in:
John Mertz 2022-04-19 00:37:30 -04:00
parent d93ba15571
commit 63e4532950
1 changed files with 33 additions and 0 deletions

33
waybar/waybar-apt.sh Executable file
View File

@ -0,0 +1,33 @@
#!/bin/bash
if [ "$1" == 'bar' ]; then
if [ ! -e ${HOME}/.spool/apt-upgradeable ]; then
sudo apt update >/dev/null 2>/dev/null
COUNT=`apt list --upgradable 2> /dev/null | wc -l`
let COUNT--
echo $COUNT > /home/jpm/.spool/apt-upgradeable
else
COUNT=`cat ${HOME}/.spool/apt-upgradeable`
fi
if [ $COUNT -eq 0 ]; then
echo '{"text": "🗹", "tooltip": "Up-to-date", "class": "up-to-date"}'
else
echo '{"text": "⭳ '$COUNT'", "tooltip": "'$COUNT' updates available (click to download)", "class": "updateable"}'
fi
elif [ "$SUDO_USER" != '' ]; then
echo "Don't run with sudo. Run normally, but with a sudoer user"
elif [ $UID -eq 0 ]; then
echo "Don't run as root. Run normally, but with a sudoer user"
elif [ "$1" == 'upgrade' ]; then
/usr/bin/uxterm -e "sudo apt-get update && sudo apt-get full-upgrade -y && sudo apt-get autoremove -y && sudo apt-get clean -y && exit"
COUNT=`apt list --upgradable 2> /dev/null | wc -l`
let COUNT--
echo $COUNT > /home/jpm/.spool/apt-upgradeable
elif [ "$1" == 'update' ]; then
sudo apt update >/dev/null 2>/dev/null
COUNT=`apt list --upgradable 2> /dev/null | wc -l`
let COUNT--
echo $COUNT > /home/jpm/.spool/apt-upgradeable
else
echo "Missing argument: update, upgrade"
fi