#!/bin/bash

LOG_DIR="/tmp/fly-msg"
LOG_FILE="$LOG_DIR/msg.txt"
NAME=`basename $0`
LOCK_FILE="/tmp/$NAME-${DISPLAY}.lock"
CONF_FILE="/etc/digsig/digsig_initramfs.conf"
if [ $LANG = "ru_RU.UTF-8" ]; then
MESSAGE="Внимание! Сообщение:"
else
MESSAGE="Attention! Message:"
fi

function terminate() {
	rm -f $LOCK_FILE
	pkill inotifywait
	exit 1
}

trap terminate INT TERM HUP KILL

#nothing to do
if [ ! -f /usr/bin/inotifywait ] ; then exit; fi

#lock
copy=`ps h -C $NAME | grep -v $$ | wc -l`

if [ $copy -gt 1 ] ; then
	[ -f $LOCK_FILE ] && exit
fi
echo $$ > $LOCK_FILE

if [ ! -d $LOG_DIR ]; then
  mkdir -m 777 $LOG_DIR
fi


#check log file and wait for it
if [ ! -f $LOG_FILE ]; then
    while true ; do
	inotifywait -qq -r -e create $LOG_DIR &
	wait $!
	if [ -f $LOG_FILE ]; then break; else sleep 2; fi
    done
fi

#wait changes in log file
while true ; do
    inotifywait -qq -r -e modify $LOG_FILE &
    wait $!
    MSG=""; TRAY_MSG=""
    MSG=$(tail -1 $LOG_FILE)
    TRAY_MSG="$MESSAGE $MSG"
    notify-send -u critical -t 10000 -i dialog-warning "$TRAY_MSG"
done

terminate
