2011-04-21

auto_signature.sh

Когда-то использовал этот скрипт для подставления в подпись письма в mutt, фразы из фортуны.

#!/bin/sh
FORTUNE=`which fortune`
FORTUNE_DIR="/usr/share/games/fortune/rus/fortune_rus"

if [ "x$FORTUNE" = "x" ]; then
        exit 255
fi

if [ ! -d ${FORTUNE_DIR} ]; then
        exit 255
fi

${FORTUNE} ${FORTUNE_DIR}

any2mkv.sh

"Оборачивает" любой файл в контейнер mkv. В качестве параметра передается имя файла. Ничего особенного, так, подручная мелочь.

#!/bin/bash

if [ "x$*" = "x" ]; then
        echo "Used: $0 video_file"
else
        ffmpeg -i "${*}" -vcodec copy -acodec copy "${*}.mkv"
        touch -r "${*}" "${*}.mkv"
fi

any2flac.sh

"Мопед не мой". (с) :) Скрипт был нагло уперт где-то в инете. Из названия ясно что он перекодирует все что не поподя во flac. Что могу сказать? Работает. :)

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

alarm.py

Для чего начинал писать ЭТО - уже не помню. :) Все кончилось на этапе экспериментов с pyosd, соответственно нужен этот модуль, ну и сам питон естественно. ;)

#!/usr/bin/env python
# coding: utf-8

# Created 2010-06-28

import pyosd

if __name__ == "__main__":
    msg = "Alarm!!!"
    p = pyosd.osd(font="-*-georgia-medium-r-normal-*-84-*-*-*-*-*-*-r")
    p.set_align(pyosd.ALIGN_CENTER)
    p.set_pos(pyosd.POS_MID)
    p.set_outline_colour("#FF0000")
    p.set_shadow_colour("#090909")
    p.set_timeout(5)
    p.display(msg)
    raw_input()

alarm-countdown.sh

Одно время нужно было, что бы в определенное время выскакивала напоминалка. Причем не просто так, а за 5 минут до наступления события и каждую минуту сообщал, что осталось столько-то минут. Для отображает уведомление с помощь notify-send. Запускается через cron так:
alarm-countdown.sh 5
5 - количество минут до наступления события. Текст правится по вкусу. ;)

#!/bin/sh

TIME=$1

while [ $TIME -ne 0 ];
do
 notify-send -t 10000 -i info "Внимание." "До события осталось ${TIME} мин."
 TIME=$(($TIME-1))
 sleep 60
done