2011-04-21

alarm.sh

Данный скрипт у меня выводит разные напоминания, типа "каждый час сидя в офисе сделать зарядку, что бы жопа жиром не обросла", или что-то подобное. :) Ну а без параметров заставляет меня делать периодическую зарядку для глаз. Запускаю из крона. Без параметров - сообщение по умолчанию, с параметрами - параметры будут выведены на экра. ;) Писался для раскидывания на разные машины, не на всех был zenity или libnotify, поэтому проверяет что есть для отображения.

#!/bin/sh

DISPLAY=:0
LANG=ru_RU.UTF-8
LC_MESSAGES=C
if [ "x${1}" = "x" ]; then
 MSG="Зарядка для глаз:

1. Крепко зажмурьте глаза на 3 с, затем откройте на 3 с. Повторить 5 раз.
2. Быстро моргайте в течение 30-60 с.
3. По вращать глазами по часовой, затем против часовой стрелки ~60 с.
4. Осторожно помассируйте глаза через закрытые веки круговыми движениями указательных пальцев в течение 30 с.
5. Последовательно чередуйте взгляд на близкий предмет и взгляд вдаль. Это важное упражнение тренирует аккомодационную мышцу.
6. После этого повторите массаж глаз через веки."
TIMEOUT=" "
else
 MSG=$1
fi

export DISPLAY
export LANG
export LC_MESSAGES

EXEC=`which zenity notify-send gmessage xmessage | grep -v "not found" | head -n 1 | xargs basename`

case ${EXEC} in
 "")
  echo "Please install libnotify-bin, gmessage or xmessage"
  exit 255
 ;;

 "zenity")
  TIMEOUT=$2
  ${EXEC} --info ${TIMEOUT:-"--timeout=60"} --text="${MSG}"
 ;;

 "gmessage")
  ${EXEC} -center -default OK -buttons OK -fn "sans, 24" -title "Warning" "${MSG}"
 ;;

 "xmessage")
  ${EXEC} -center -default OK -buttons OK -fn "sans, 24" -title "Warning" "${MSG}"
 ;;

 "notify-send")
  ${EXEC} -u low -t 20000 --icon=dialog-warning "${MSG}"
 ;;
esac