From dd488818a979f237c7642a5d4aa9e55c7c5ebbd4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ingo=20B=C3=BCrk?= Date: Sat, 21 Mar 2015 21:33:38 +0100 Subject: [PATCH] Introduce the short_text property on blocks and parse it according to the documentation. --- i3bar/include/common.h | 1 + i3bar/src/child.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/i3bar/include/common.h b/i3bar/include/common.h index 997a429e..3744df27 100644 --- a/i3bar/include/common.h +++ b/i3bar/include/common.h @@ -35,6 +35,7 @@ typedef enum { * up one status line. */ struct status_block { i3String *full_text; + i3String *short_text; char *color; uint32_t min_width; diff --git a/i3bar/src/child.c b/i3bar/src/child.c index efe02884..521951f5 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -70,6 +70,7 @@ static void clear_statusline(struct statusline_head *head, bool free_resources) first = TAILQ_FIRST(head); if (free_resources) { I3STRING_FREE(first->full_text); + I3STRING_FREE(first->short_text); FREE(first->color); FREE(first->name); FREE(first->instance); @@ -188,6 +189,9 @@ static int stdin_string(void *context, const unsigned char *val, size_t len) { if (strcasecmp(ctx->last_map_key, "full_text") == 0) { ctx->block.full_text = i3string_from_markup_with_length((const char *)val, len); } + if (strcasecmp(ctx->last_map_key, "short_text") == 0) { + ctx->block.short_text = i3string_from_markup_with_length((const char *)val, len); + } if (strcasecmp(ctx->last_map_key, "color") == 0) { sasprintf(&(ctx->block.color), "%.*s", len, val); } @@ -261,6 +265,7 @@ static int stdin_end_array(void *context) { struct status_block *current; TAILQ_FOREACH(current, &statusline_head, blocks) { DLOG("full_text = %s\n", i3string_as_utf8(current->full_text)); + DLOG("short_text = %s\n", i3string_as_utf8(current->short_text)); DLOG("color = %s\n", current->color); } DLOG("end of dump\n"); -- 2.39.2