diff options
author | Justine Smithies <justine@smithies.me.uk> | 2024-12-08 16:05:02 +0000 |
---|---|---|
committer | Justine Smithies <justine@smithies.me.uk> | 2024-12-08 16:05:02 +0000 |
commit | b35b405ae51fa11b9481d44f24ece462bfc72474 (patch) | |
tree | 6d70d2b66f28647f3424cd5718e004caa02abb0a /.config/eww/scripts | |
parent | 52146a35178a1eecb3fabb1adf7251bee53b8f2c (diff) |
Added an FreeBSD updates widget for my Eww bar.
Diffstat (limited to '.config/eww/scripts')
-rwxr-xr-x | .config/eww/scripts/freebsd-updates.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/.config/eww/scripts/freebsd-updates.sh b/.config/eww/scripts/freebsd-updates.sh new file mode 100755 index 0000000..aadb5cf --- /dev/null +++ b/.config/eww/scripts/freebsd-updates.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +function CheckUpdates() { +pkg upgrade -n | awk '/Installed packages to be UPGRADED:/{p=1}/^ *$/{p=0}p' | tail -n +2 1> /tmp/freebsd-updates +updates="$(cat /tmp/freebsd-updates | awk '{ print $1 }')" +number=$(cat /tmp/freebsd-updates | wc -l | xargs) + +if [ "$number" -gt 0 ]; then + text=" $number" +else + text="" +fi + +echo "$text" +} + +function RefreshUpdates() { + value="$(CheckUpdates)" + eww update freebsd-updates="$value" +} + +function Update() { + foot bash -c 'doas pkg upgrade' + RefreshUpdates +} + +case "$1" in + Refresh) + RefreshUpdates + exit 0 + ;; + Update) + Update + exit 0 + ;; + *) + CheckUpdates + exit 0 +esac |