51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
_target_file="/tmp/pacman-update-count"
|
||
|
# if set to 1 then also notify if no updates available
|
||
|
_notify_none=0
|
||
|
_error_code=0
|
||
|
_show_help=0
|
||
|
|
||
|
if ! [ -f "$_target_file" ] ;
|
||
|
then
|
||
|
echo "Error - file not found: $_target_file"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
for _arg in "$@" ; do
|
||
|
if [ "$_arg" = "-h" ] || [ "$_arg" = "--help" ] ; then
|
||
|
_show_help=1
|
||
|
elif [ "$_arg" = "-n" ] || [ "$_arg" = "--notify-none" ] ; then
|
||
|
_notify_none=1
|
||
|
else
|
||
|
_error_code="5"
|
||
|
_show_help=1
|
||
|
echo "notify-updates: invalid option -- $_arg"
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if [ "$_show_help" -eq 1 ] ; then
|
||
|
echo "Options:"
|
||
|
echo " -h, --help show this message and exit"
|
||
|
echo " -n, --notify-none notify if no updates available"
|
||
|
exit "$_error_code"
|
||
|
fi
|
||
|
|
||
|
if [ "$_error_code" -gt 0 ] ; then
|
||
|
exit "$_error_code"
|
||
|
fi
|
||
|
|
||
|
_updates_available=$(cat $_target_file)
|
||
|
|
||
|
if [ "$_updates_available" -gt 0 ] ; then
|
||
|
_plural="s"
|
||
|
if [ "$_updates_available" -lt 2 ] ; then
|
||
|
_plural=""
|
||
|
fi
|
||
|
echo "Attention please: Update required: $_updates_available package$_plural" | festival --tts
|
||
|
notify-send "Update Notifier" "Update required: $_updates_available package$_plural"
|
||
|
elif [ "$_notify_none" -eq 1 ] ; then
|
||
|
echo "Attention please: No package updates required" | festival --tts
|
||
|
notify-send -u low "Update Notifier" "No updates required"
|
||
|
fi
|