Merge all notifications
Notification for kernel update is included in the same notification as everything else, no more a separate one
This commit is contained in:
+23
-11
@@ -93,29 +93,37 @@ updates=$((arch_updates + aur_updates))
|
||||
# ---------------------------------------------------------------------------
|
||||
# Kernel check: the stock kernel updated, but your custom build didn't
|
||||
# ---------------------------------------------------------------------------
|
||||
kernel_lines=()
|
||||
for stock_pkg in "${!KERNELS[@]}"; do
|
||||
custom_pkg=${KERNELS[$stock_pkg]}
|
||||
|
||||
# Skip kernels where either package isn't installed
|
||||
if ! stock_ver=$(latest_version "$stock_pkg") || ! custom_ver=$(latest_version "$custom_pkg"); then
|
||||
clear_state "kernel-$stock_pkg"
|
||||
continue
|
||||
fi
|
||||
|
||||
# Notify while the stock kernel is newer than the newest custom build
|
||||
# Flag the kernel while the stock one is newer than the newest custom build
|
||||
# (installed, or already built into your repo but not yet installed)
|
||||
if (( $(vercmp "$stock_ver" "$custom_ver") > 0 )); then
|
||||
notify_once "kernel-$stock_pkg" "Kernel update available: $stock_pkg" \
|
||||
"Rebuild $custom_pkg ($stock_pkg $stock_ver)"
|
||||
else
|
||||
clear_state "kernel-$stock_pkg"
|
||||
kernel_lines+=("Rebuild $custom_pkg ($stock_pkg $stock_ver)")
|
||||
fi
|
||||
done
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# General updates threshold
|
||||
# Build a single notification
|
||||
# - kernel rebuild lines are always included
|
||||
# - update counts and reminders only when the threshold is reached
|
||||
# ---------------------------------------------------------------------------
|
||||
if (( updates >= threshold )); then
|
||||
over_threshold=0
|
||||
(( updates >= threshold )) && over_threshold=1
|
||||
|
||||
parts=()
|
||||
if (( over_threshold )); then
|
||||
parts+=("Arch: $arch_updates, AUR: $aur_updates")
|
||||
fi
|
||||
parts+=("${kernel_lines[@]}")
|
||||
|
||||
if (( over_threshold )); then
|
||||
reminders=()
|
||||
|
||||
# Always remind about git packages if git-monitor is installed
|
||||
@@ -133,13 +141,17 @@ if (( updates >= threshold )); then
|
||||
fi
|
||||
fi
|
||||
|
||||
body="Arch: $arch_updates, AUR: $aur_updates"
|
||||
if (( ${#reminders[@]} )); then
|
||||
printf -v list '%s, ' "${reminders[@]}"
|
||||
body+=$'\n'"Also check: ${list%, }"
|
||||
parts+=("Also check: ${list%, }")
|
||||
fi
|
||||
fi
|
||||
|
||||
notify_once "updates" "Updates available" "$body"
|
||||
if (( ${#parts[@]} )); then
|
||||
title="Updates available"
|
||||
(( over_threshold )) || title="Kernel update available"
|
||||
printf -v body '%s\n' "${parts[@]}"
|
||||
notify_once "updates" "$title" "${body%$'\n'}"
|
||||
else
|
||||
clear_state "updates"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user