summaryrefslogtreecommitdiff
path: root/include/i3status.h
diff options
context:
space:
mode:
authorMarco Hunsicker <i3@hunsicker.de>2014-03-01 09:55:29 +0100
committerMichael Stapelberg <michael@stapelberg.de>2014-03-01 10:21:11 +0100
commit7b021d3eb20c9bf63ad8fa54ae253add47e551f6 (patch)
tree41e2dec68b86a792082ad6c1ad256627abd73c4a /include/i3status.h
parent26faed4c2f2c23f17b0c9170a4a72bb018931ed8 (diff)
i3status: Allow customization of module separator
This patch adds the ability to customize the separator that is placed between modules. Specifically this patch: * adds the "separator" general directive * moves the definition of the default separator for the different output formats (excluding color formatting) to src/i3status.c * updates the SEC_CLOSE_MAP macro to disable the separator for the i3bar output format if the separator directive dictates so * changes print_seperator() in src/output.c to take a separator parameter in order to disable the output of the separator if the separator is empty and to use the provided separator otherwise * updates the manpage to explain the new directive
Diffstat (limited to 'include/i3status.h')
-rw-r--r--include/i3status.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/i3status.h b/include/i3status.h
index e1246b9..a6cd535 100644
--- a/include/i3status.h
+++ b/include/i3status.h
@@ -88,6 +88,11 @@ enum { O_DZEN2, O_XMOBAR, O_I3BAR, O_TERM, O_NONE } output_format;
#define SEC_CLOSE_MAP \
do { \
if (output_format == O_I3BAR) { \
+ const char *_sep = cfg_getstr(cfg_general, "separator"); \
+ if (strlen(_sep) == 0) {\
+ yajl_gen_string(json_gen, (const unsigned char *)"separator", strlen("separator")); \
+ yajl_gen_bool(json_gen, false); \
+ } \
yajl_gen_map_close(json_gen); \
} \
} while (0)
@@ -133,7 +138,7 @@ void die(const char *fmt, ...);
bool slurp(const char *filename, char *destination, int size);
/* src/output.c */
-void print_seperator();
+void print_seperator(const char *separator);
char *color(const char *colorstr);
char *endcolor() __attribute__ ((pure));
void reset_cursor(void);