From: Michael Stapelberg Date: Fri, 16 Oct 2009 18:31:20 +0000 (+0200) Subject: Obey format for run_watches X-Git-Tag: 2.0~16 X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3status;a=commitdiff_plain;h=8a66289702bb17c2874497319ea2a2921e7a3e0d Obey format for run_watches --- diff --git a/src/print_run_watch.c b/src/print_run_watch.c index 391467e..807e322 100644 --- a/src/print_run_watch.c +++ b/src/print_run_watch.c @@ -1,10 +1,27 @@ #include +#include #include "i3status.h" void print_run_watch(const char *title, const char *pidfile, const char *format) { bool running = process_runs(pidfile); - printf("%s%s: %s%s", - (running ? color("#00FF00") : color("#FF0000")), - title, - (running ? "yes" : "no"), endcolor()); + const char *walk; + + printf("%s", (running ? color("#00FF00") : color("#FF0000"))); + + for (walk = format; *walk != '\0'; walk++) { + if (*walk != '%') { + putchar(*walk); + continue; + } + + if (strncmp(walk+1, "title", strlen("title")) == 0) { + printf("%s", title); + walk += strlen("title"); + } else if (strncmp(walk+1, "status", strlen("status")) == 0) { + printf("%s", (running ? "yes" : "no")); + walk += strlen("status"); + } + } + + printf("%s", endcolor()); }