Я тут решил допилить dpoke из состояния "гора говна кое-как работает и ладно" до состояния "гора говна, не жалко с людьми поделиться, даже собрать могут"
dpoke это костылик для обновления строки статуса в dwm и подобных оконных менеджерах.
Как он работает:
При запуске dpoke запускает все указанные в конфиге программы и начинает читать их stdout. Когда любая из программ выведет полную строку завершающуюся \n, она сохраняется как текущее состояние для этой программы, общее текущее состояние кормится функции display() описанной в config.h. В дефолтном конфиге это обновлялка заголовка корневого окна (из которого рисуется строка статуса dwm).
dpoke позволяет без сатанизма составлять строку состояния из множества евент-бейзд или таймер-бейзд источников, обновляющихся с разной частотой.
Из коробки идут "апплеты" для чтения /proc/meminfo, getloadavg() и часы. Любой из этих "апплетов" можно просто запустить из сосноли и посмотреть что он выводит. УДОБНО ДЕБАЖИТЬ.
Так же можно скормить dpoke например tail -f на что-нибудь.
Как скочять:
hg clone
http://hg.blasux.ru/dpoke/
cd dpoke
make
./dpoke