@komar Смотреть что сожрало всю память, почему лаптоп греет систему и насколько тормозит триже. Ещё не отказался бы от температуры внутри и за бортом, уровня заряда аккума, сислога и прочего такого говнища, но это сейчас у меня реализовано самописными костылями и каши не просит.
@anonymous карочь суть токова: у меня был огромный патченный двмстатус, вещи в котором обновлялись с разным периодом, который было жутко неудобно поддерживать:
for (;;) {
time_t lol = min(min(time_avgs,time_bat),time_temp) - time(NULL);
if (lol<0) lol = 0;
sleep( lol );
time(&cur);
if (itstime(cur,&time_avgs,10)) {
if (avgs)
free(avgs);
avgs = loadavg(2.0,3.0);
}
if (itstime(cur,&time_bat,10)) {
if (bat)
free(bat);
bat = getbattery("/proc/acpi/battery/BAT0");
}
if (itstime(cur,&time_temp,10)) {
if (temp)
free(temp);
temp =
cputemp(55,10);
}
tmlocal = mktimes("%Y-%m-%d %a %H:%M", tzlocal, 0);
status = smprintf("%s | %s @ %s |%s",
bat, avgs, temp, tmlocal);
setstatus(status);
free(tmlocal);
free(status);
}
чем больше появлялось величин которые хотелось мониторить - тем больше и ужаснее был костыль.
поэтому я заменил двмстатус на штуковину, которая просто запускает процессы-мониторы (процессы долгоживущие, а не на каждую проверку), высирающие обновления с той частотой, с которой хочется им.
ты можешь в качестве одной из проверок хоть df на нфс через жпрс запускать, это никак не повлияет на скорость обновления остальных параметров и вообще ни на что.
а еще это очень упростило отладку, конфигурирование на разных машинах и вообще поддержку кода.
можно вообще tail -f /some/stupid/log в статус запихать
@komar мне удобнее это было сделать процессами
это дает мне возможность перезапускать мониторилки отдельно, писать их на разных языках, отлаживать их по-отдельности или вообще в терминале.
@l29ah hg там используется по историческим причинам, ибо dwm использовал hg, я использовал hg для своего форка dwm и поэтому на момент создания dpoke я предпочел захостить его рядом
@l29ah оно сзаголовок рутового окна меняет. в двм он выводится в статусбаре. но вообще единственное что определяет куда выводится текст - config.h, там даже есть пример с просто выблевком в консоль