#!/usr/bin/sh

# Send mail
if which mail >/dev/null 2>&1
then
  echo "$SMARTD_FULLMESSAGE" | mail -s "$SMARTD_SUBJECT" "$SMARTD_ADDRESS"
fi

# Notify desktop user
MESSAGE="SMART Disk monitor:
$SMARTD_MESSAGE"

if which notify-send >/dev/null 2>&1
then
  loginctl list-sessions --no-legend --no-pager 2>/dev/null | while read -r SESSION_ID SESS_UID USER SEAT LEADER TYPE CLASS TTY IDLE STATE; do
    SESSION_TYPE=$(loginctl show-session "$SESSION_ID" -p Type --value 2>/dev/null)
    case "$SESSION_TYPE" in
      x11|wayland)
        DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$SESS_UID/bus" \
          runuser -u "$USER" -- notify-send -u critical -i drive-harddisk "SMART Disk Monitor" "$MESSAGE" 2>/dev/null ||:
        ;;
    esac
  done
fi

echo "$MESSAGE" | wall -n 2>/dev/null ||:

