#!/bin/sh 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" } RefreshUpdates() { value="$(CheckUpdates)" eww update freebsd-updates="$value" } Update() { foot bash -c 'doas pkg upgrade' RefreshUpdates } case "$1" in Refresh) RefreshUpdates exit 0 ;; Update) Update exit 0 ;; *) CheckUpdates exit 0 esac