1
0
Fork 0

feat(archupdates): colorize output depending on last update date too

This commit is contained in:
Oliver Ladner 2026-06-21 14:02:26 +02:00
commit 9567af879f

View file

@ -5,14 +5,29 @@
# Check if updated Arch packages can be installed
pkgupdate() {
local pkgcount=$(checkupdates | wc -l)
if [[ $pkgcount -ge 1 && $pkgcount -lt 20 ]]; then
local bg=$mute_bg
local fg=$mute_fg
elif [[ $pkgcount -ge 20 ]]; then
local bg=$warn1_bg
local fg=$warn1_fg
local seconds_since_last_patched=$(echo "$(date +%s) - $(stat -c %Y /var/log/pacman.log)" | bc -l)
local hours_since_last_patched=$(echo "scale=0; $seconds_since_last_patched / 60 / 60" | bc -l)
local hours_to_consider_stale=168
# Few updates
if [[ $pkgcount -ge 1 && $pkgcount -lt 35 ]]; then
if [[ $hours_since_last_patched -gt $hours_to_consider_stale ]]; then
local bg=$warn1_bg
local fg=$warn1_fg
else
local bg=$info_bg
local fg=$info_fg
fi
# Many updates
elif [[ $pkgcount -ge 35 ]]; then
if [[ $hours_since_last_patched -gt $hours_to_consider_stale ]]; then
local bg=$crit_bg
local fg=$crit_fg
else
local bg=$warn2_bg
local fg=$warn2_fg
fi
fi
local stat="$pkgcount pkg updates"
local stat="$pkgcount pkg updates (last update: $hours_since_last_patched hours ago)"
if [[ -n "$bg" ]]; then
echo -e "<span background=\"$bg\" color=\"$fg\">$stat</span>\n"