herbe оповещения

Что: 6809b7590d977119f9a402d630cdcfd150d13e0c

Когда: 2021-04-19 12:34:56+03:00

Темы: tip

herbe оповещения

https://github.com/dudik/herbe
https://vermaden.wordpress.com/2021/04/18/freebsd-desktop-part-23-configuration-herbe-notifications/
Я всплывающими оповещениями не пользуюсь сейчас, ибо по сути всё что
меня интересует просто пишет bell alert в терминал и он выставляет у
окна urgency статус, который я вижу в dwm-е в строке состояния тэгов.
Когда-то для mcabber использовал вывод сообщений jabber приходящих,
но может быть неудобно когда рядом есть человек который может увидеть
эти сообщения.

А ещё одной причиной почему я не пользуюсь оповещениями было то, что
одна из оповещалок написана на Python была, от которого я стараюсь
держаться подальше на своей системе, если речь не про работу. Бесит
его медленная скорость работы. А много других оповещалок работают
через DBus, что вообще не рассматривается -- DBus я не запускаю и
убеждаюсь что никто его не запускает (1517827838dfcb8d1baaaeb75c258f2b59f8714d)
хотя кто-то из зависимостей его устанавливает.

herbe зависит только от X-библиотек и ничего не умеет кроме как просто
показывать сообщения. Есть и патч для того чтобы в вертикальном стэке
отображать. Suckless friendly штука.

оставить комментарий

комментарий 0:

From: Oskar Sharipov
Date: 2021-04-19 10:41:10Z

О, тоже его заценил! Конечно, так и не придумал, где использовать, но на диске код и
бинарник лежит.

А строчка в статусе dwm меня не тригеррит, я легко могу упустить что-то важное там.
Поэтому пока без уведомлений живу.

комментарий 1:

From: Sergey Matveev
Date: 2021-04-19 11:10:47Z


>О, тоже его заценил! Конечно, так и не придумал, где использовать, но на диске код и
>бинарник лежит.

Вот и сейчас у меня собранный бинарник лежит, но на этом всё :-)

>А строчка в статусе 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-ом, только что скачавшим новые новости.

комментарий 2:

From: Sergey Matveev
Date: 2021-04-19 12:16:45Z


>    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

Последнее время стал много упрощать своих скриптов на zsh, ведь всё
равно с него никуда не слезу, а портабельность им не нужна. Переписал
жуть выше на:

    res=()
    for mbox ($mboxes) {
        news=($MAILDIR/$mbox/new/*(N))
        [[ ${#news} != 0 ]] && res=($res $mbox:${#news})
    }
    print $res

комментарий 3:

From: Oskar Sharipov
Date: 2021-04-19 23:49:47Z

> precmd() { printf "\a\033]2;\033\\" }

Ого, спасибо! Вроде бы такая простая идея, а вы use-case-ы привели
суперские. Привинтил belling себе.

Получать уведомления о новых письмах в обычной работе консоли тоже
здоровская идея.

Всё же круто вы используете магию tmux-а и shell-а, вот такой
комментарий мне одно удовольствие было читать.

--
Oskar Sharipov
gpg fingerprint: BAC3 F049 748A D098 A144  BA89 0DC4 EA75 714C 75B5

Сгенерирован: SGBlog 0.34.0