summaryrefslogtreecommitdiffstats
path: root/src/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c
index 896b192..c46d718 100644
--- a/src/config.c
+++ b/src/config.c
@@ -77,6 +77,8 @@ static int config_parse_input_datefmt(void *, const char *);
static int config_serialize_input_datefmt(char **, void *);
static int config_parse_notifyall(void *, const char *);
static int config_serialize_notifyall(char **, void *);
+static int config_parse_heading_pos(void *, const char *);
+static int config_serialize_heading_pos(char **, void *);
#define CONFIG_HANDLER_BOOL(var) (config_fn_parse_t) config_parse_bool, \
(config_fn_serialize_t) config_serialize_bool, &(var)
@@ -96,6 +98,7 @@ static const struct confvar confmap[] = {
{"appearance.sidebarwidth", config_parse_sidebar_width, config_serialize_sidebar_width, NULL},
{"appearance.theme", config_parse_color_theme, config_serialize_color_theme, NULL},
{"appearance.todoview", config_parse_todo_view, config_serialize_todo_view, NULL},
+ {"appearance.headingpos", config_parse_heading_pos, config_serialize_heading_pos, NULL},
{"daemon.enable", CONFIG_HANDLER_BOOL(dmon.enable)},
{"daemon.log", CONFIG_HANDLER_BOOL(dmon.log)},
{"format.inputdate", config_parse_input_datefmt, config_serialize_input_datefmt, NULL},
@@ -307,6 +310,19 @@ static int config_parse_notifyall(void *dummy, const char *val)
return 1;
}
+static int config_parse_heading_pos(void *dummy, const char *val)
+{
+ if (!strcmp(val, "left-justified"))
+ conf.heading_pos = LEFT;
+ else if (!strcmp(val, "centered"))
+ conf.heading_pos = CENTER;
+ else if (!strcmp(val, "right-justified"))
+ conf.heading_pos = RIGHT;
+ else
+ return 0;
+ return 1;
+}
+
/* Set a configuration variable. */
static int config_set_conf(const char *key, const char *value)
{
@@ -482,6 +498,17 @@ static int config_serialize_notifyall(char **buf, void *dummy)
return 1;
}
+static int config_serialize_heading_pos(char **buf, void *dummy)
+{
+ if (conf.heading_pos == LEFT)
+ *buf = mem_strdup("left-justified");
+ else if (conf.heading_pos == CENTER)
+ *buf = mem_strdup("centered");
+ else
+ *buf = mem_strdup("right-justified");
+ return 1;
+}
+
/* Serialize the value of a configuration variable. */
static int
config_serialize_conf(char **buf, const char *key,