diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/print_path_exists.c | 10 | ||||
| -rw-r--r-- | src/print_run_watch.c | 10 | 
2 files changed, 16 insertions, 4 deletions
diff --git a/src/print_path_exists.c b/src/print_path_exists.c index 1b231e6..65bc9c8 100644 --- a/src/print_path_exists.c +++ b/src/print_path_exists.c @@ -6,17 +6,23 @@  #include <sys/stat.h>  #include "i3status.h" -void print_path_exists(yajl_gen json_gen, char *buffer, const char *title, const char *path, const char *format) { +void print_path_exists(yajl_gen json_gen, char *buffer, const char *title, const char *path, const char *format, const char *format_down) {      const char *walk;      char *outwalk = buffer;      struct stat st;      const bool exists = (stat(path, &st) == 0); +    if (exists || format_down == NULL) { +        walk = format; +    } else { +        walk = format_down; +    } +      INSTANCE(path);      START_COLOR((exists ? "color_good" : "color_bad")); -    for (walk = format; *walk != '\0'; walk++) { +    for (; *walk != '\0'; walk++) {          if (*walk != '%') {              *(outwalk++) = *walk;              continue; diff --git a/src/print_run_watch.c b/src/print_run_watch.c index 3d1ec3f..b108f8f 100644 --- a/src/print_run_watch.c +++ b/src/print_run_watch.c @@ -5,16 +5,22 @@  #include <yajl/yajl_version.h>  #include "i3status.h" -void print_run_watch(yajl_gen json_gen, char *buffer, const char *title, const char *pidfile, const char *format) { +void print_run_watch(yajl_gen json_gen, char *buffer, const char *title, const char *pidfile, const char *format, const char *format_down) {      bool running = process_runs(pidfile);      const char *walk;      char *outwalk = buffer; +    if (running || format_down == NULL) { +        walk = format; +    } else { +        walk = format_down; +    } +      INSTANCE(pidfile);      START_COLOR((running ? "color_good" : "color_bad")); -    for (walk = format; *walk != '\0'; walk++) { +    for (; *walk != '\0'; walk++) {          if (*walk != '%') {              *(outwalk++) = *walk;              continue;  | 
