From: Sergey Matveev
Date: 2021-04-19 11:10:47Z
*** Oskar Sharipov [2021-04-19 10:40]:
>О, тоже его заценил! Конечно, так и не придумал, где использовать, но на диске код и
>бинарник лежит.
Вот и сейчас у меня собранный бинарник лежит, но на этом всё :-)
>А строчка в статусе dwm меня не тригеррит, я легко могу упустить что-то важное там.
>Поэтому пока без уведомлений живу.
Ну я имел в виду не строчку статуса, где можно просто буковками что-то
написать, а urgency состояние окна, при котором тэг в строке состояния
dwm подсвечивается ярким цветом (у меня это просто такой белый фон на
тэге): такое я не могу не увидеть или не обратить на него внимание, тем
более когда оно 99.99% времени никогда не горит этим ярким цветом. И в
отличии от оповещений (herbe/whatever) -- не исчезает, пока явно не
переключишься на urgent окно чтобы снять это состояние.
В командной строке zsh у меня ещё выставлено вот такое:
precmd() { printf "\a\033]2;\033\\" }
escape-последовательности для очистки X11 title окна, которое в tmux
отображается и по умолчанию туда попадает длинный hostname. Но главное
тут это "\a", который делает alert bell, выставляющий автоматом urgency
окна. Это позволяет показать мне что в каком-то окне отобразилась
командная строка -- значит какая-то команда завершила выполнение. Если я
интерактивно работают в этом окне, то urgency не появляется, так как оно
в фокусе. Для меня это невероятнейший по удобству трюк, оповещающий
когда что-то где-то закончилось. Если надо поставить таймер на пять
минут, то я просто делаю в свободном терминале sleep 600 и дальше тэг
dwm-а будет подсвечен, когда sleep отработает и zsh "напечатает" alert.
Если например в каком-то чате много всякого flood-а, мне не интересного
и постоянно отвлекающего (постоянно подсвечивающийся dwm тэг), то в
хороших клиентах можно фильтровать сообщения на которые должен делаться
beep. В irssi можно например только для конкретного окна (чата)
отключить beep-ы.
Если нужно оповестить о завершении какой-то долгой операции на сервере,
то я бывает добавляю вызов mailx -s "blablabla done" ...@stargrave.org
Хотя приход почты у меня urgent-ом нигде не подсвечивается, но в zsh
стоит настройка:
mailpath=(
~/mail/mbox"?Neue Nachrichten in =mbox"
~/mail/arbeit"?Neue Nachrichten in =arbeit"
)
при которой сам zsh следит за появлением новых писем в "обычном" ящике и
рабочем. Списки рассылки у меня почти никогда не попадают в обычный ящик
-- поэтому рассылки меня не будут отвлекать. И если почта появляется, то
у меня в командной строке появится сообщение о том что почта пришла.
Если я сижу в Vim, то да -- никаких оповещений о почте не будет, но я и
не помню когда это мне бы помешало. Так или иначе обычно всегда
параллельно бывает что-то в zsh надо сделать, хотя бы где-то enter
нажать, при котором будет сообщение о почте.
Если хочется явно узнать состояние ящиков, то я нажимаю F1 в zsh,
который вызывает " inc" команду (пробел в начале чтобы оно не попало в
историю):
res=""
for mb in $mboxes; do
[ -e $MAILDIR/$mb/new ] || continue
val=$(find $MAILDIR/$mb/new -type f | wc -l | sed 's/^ *//')
[ "$val" -ne 0 ] || continue
res="$res $mb:$val"
done
echo $res
которая покажет сколько у меня new сообщений в maildir-ах руками явно
перечисленных (некоторые ящики мне вообще не интересны):
% inc
mbox:1 fbsd:4 gnu:1 monitoring:1 nbsd:1 obsd:2 spam:1
Neue Nachrichten in =mbox
в момент вызова этой команды мне ещё и почта в mbox упала.
Пока всё это писал, то так ещё и не придумал где бы мне использовать
herbe. И пока писал, у меня urgency выставился (он выставляется и не
только на X11-окнах, но и табах в tmux) на табе с запущенным
newsboat-ом, только что скачавшим новые новости.