From 8a66289702bb17c2874497319ea2a2921e7a3e0d Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Fri, 16 Oct 2009 20:31:20 +0200 Subject: [PATCH] Obey format for run_watches --- src/print_run_watch.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) 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()); } -- 2.39.2