простий таймер для терміналу

| комп'ютери, linux, bash

знайшов малесенський, практично однорядковий скрипт на форумах arch linux. переробив на сповіщення замість вікна zenity (не люблю модальних вікон), і додав звук — маю простенький таймер для терміналу:

reminder () {
delay=$1
shift
(sleep $delay ; (speaker-test -t sine -f 500)& pid=$! ; sleep 0.1s ; kill -9 $pid ; notify-send "Reminder" "$*\n($(date +'%Y-%m-%d, %H:%M'))" --expire-time 0) > /dev/null &
}

найпростіше використання — додати до .bashrc (і source .bashrc, щоби можна було одразу скористатися), а тоді в терміналі:

reminder 10m "Почни вже той курс WikiMook, холєра тебе забирай!"

за 10 хвилин вигулькне нагадування (якщо встановлено libnotify) як на знятку. формат затримки — як для sleep (див. текст): 30s (секунди), 10m (хвилини), 1h (дні).

для чого? мені часто випадає «вхопити» 5-10 хвилин з ноутбуком, а тоді зняти макарони з плити, вимкнути кавоварку (там, вона в нас не автоматична), бігти стрічати доню біля під'їзду тощо, — набрати рядочок в терміналі простіше, ніж весь час зиркати на годинник, і все одно пропустити потрібний час.

p.s. і курс wikimook, так…