Сообщите Conky, чтобы он обновлялся из отдельного процесса.

Сообщите Conky, чтобы он обновлялся из отдельного процесса.

У меня Conky отображает мою текущую громкость с помощью ${exec bash /path/to/script/getvolume.sh}. Однако я заметил, что после изменения громкости мне приходится ждать некоторое время, пока Conky обновится. Возможно ли написать другой скрипт changevolume.sh, который ./changevolume.sh 12не только изменял бы громкость, но и заставлял бы Conky обновляться сразу после этого, чтобы мне не пришлось ждать обычного интервала обновления?

решение1

Насколько мне известно, нет способа принудительно conkyобновиться извне, кроме как убить и перезапустить его. Хорошая новость в том, что вам это не нужно, вы можете просто настроить conkyобновления чаще с помощью update_intervalнастройки:

update_interval 1

Это параметр конфигурации, поэтому его необходимо поместить в заголовок вашего файла .conkyrcперед TEXTблоком.

Имейте в виду, что чем меньше интервал, тем выше conkyзагрузка ЦП, поскольку он будет запускаться чаще. Вам решать, стоит ли это того.

Единственным другим вариантом будет заставить ваш getvolume.shскрипт kill и restart conky. Добавьте эту строку в конец вашего скрипта:

killall conky; conky &

@Joseph R нашел это на conkyстранице руководства:

   An easy way to force Conky to reload your ~/.conkyrc: "killall -SIGUSR1
   conky". Saves you the trouble of having to kill and then  restart.  You
   can now also do the same with SIGHUP.

Таким образом, вы можете принудительно conkyперечитать его файл инициализации, добавив эту команду в конец вашего файла getvolume.sh:

killall -SIGUSR1 conky

Связанный контент