среда, 20 апреля 2011 г.

Conky fix

например у нас есть вот такое в конфиге коньков
${alignc}${color green}CPU$color
$hr
Process${alignr}NICE     PID    CPU%
${top name 1}${alignr}  ${pid_nice ${top pid 1}}   ${top pid 1}  ${top cpu 1}
${top name 2}${alignr}  ${pid_nice ${top pid 2}}   ${top pid 2}  ${top cpu 2}
${top name 3}${alignr}  ${pid_nice ${top pid 3}}   ${top pid 3}  ${top cpu 3}
${top name 4}${alignr}  ${pid_nice ${top pid 4}}   ${top pid 4}  ${top cpu 4}
${top name 5}${alignr}  ${pid_nice ${top pid 5}}   ${top pid 5}  ${top cpu 5}
${top name 6}${alignr}  ${pid_nice ${top pid 6}}   ${top pid 6}  ${top cpu 6}
${top name 7}${alignr}  ${pid_nice ${top pid 7}}   ${top pid 7}  ${top cpu 7}
${top name 8}${alignr}  ${pid_nice ${top pid 8}}   ${top pid 8}  ${top cpu 8}
$hr
и если PID процесса имеет менее 5 цифр, то $pid_nice не сможет отобразить приоритет процесса,
так как ${top pid X} приобретает вид " хххх"(в начале пробел), а не "хххх"

сделал недопатч, который это дело фиксит
diff -Naur /home/megabaks/conky-1.8.1//src/top.c work/conky-1.8.1//src/top.c
--- home/megabaks/conky-1.8.1//src/top.c 2010-10-05 21:29:36.000000000 +0000
+++ work/conky-1.8.1//src/top.c 2011-04-20 13:06:27.430296189 +0000
@@ -997,7 +997,7 @@
     break;
    case TOP_PID:
     width = MIN(p_max_size, 6);
-    snprintf(p, width, "%5i",
+    snprintf(p, width, "%1i",
       needed[td->num]->pid);
     break;
    case TOP_MEM:
conky-top_fix.patch
этот патч отправлен разрабам - ждём чуда, а пока или руками накладывать или ставить коньки из оверлея stuff (для гентушнегов только, конечно)