Для отображения громкости в строке статуса я регистрировал функцию в таймере, которая читает текущее значение каждую секунду: wicked.register(volumewidget, my_volume, “$1”, 1)
Это накладно. Кто то на LOR обратил мое внимание на данную проблему и я решил исправить сей недостаток.
В комплекте с awesome идет утилита awesome-client, вот ее я и решил использовать.
Итак алгоритм:
- В ~/.config/awesome/rc.lua пишем функцию, которая читает состояние громкости и обновляет информацию в статусе.
- При изменении громкости по хоткею (я использую x11-misc/xhkeys) вызываем нашу функцию: echo “my_volume()” | awesome-client
Естественно, что данный метод можно использовать для любых случаев, когда опрос состояния по таймеру не рационален.
Выгода от данного способа:
- Информация в статусе обновляется сразу, как только произошло событие.
- Считывание информации о громкости происходит только после прихода события, а не каждые n секунд.
т.е. функция my_volume() вызывается из конфига xhkeys? А если хоткеи громкости прописаны в самом rc.lua, можно ли это сделать? Хотелось бы поподробней об этом.
“т.е. функция my_volume() вызывается из конфига xhkeys?”
Все верно, но вы можете вызывать ее откуда вам удобно.
Если за обработку хоткеев изменения громкости отвечает Осом, то вызывайте эту функцию из конфига Осома.