Introduce the short_text property on blocks and parse it according to the documentation.

This commit is contained in:
Ingo Bürk 2015-03-21 21:33:38 +01:00
parent 8d0fb482d9
commit dd488818a9
2 changed files with 6 additions and 0 deletions

View File

@ -35,6 +35,7 @@ typedef enum {
* up one status line. */ * up one status line. */
struct status_block { struct status_block {
i3String *full_text; i3String *full_text;
i3String *short_text;
char *color; char *color;
uint32_t min_width; uint32_t min_width;

View File

@ -70,6 +70,7 @@ static void clear_statusline(struct statusline_head *head, bool free_resources)
first = TAILQ_FIRST(head); first = TAILQ_FIRST(head);
if (free_resources) { if (free_resources) {
I3STRING_FREE(first->full_text); I3STRING_FREE(first->full_text);
I3STRING_FREE(first->short_text);
FREE(first->color); FREE(first->color);
FREE(first->name); FREE(first->name);
FREE(first->instance); 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) { if (strcasecmp(ctx->last_map_key, "full_text") == 0) {
ctx->block.full_text = i3string_from_markup_with_length((const char *)val, len); 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) { if (strcasecmp(ctx->last_map_key, "color") == 0) {
sasprintf(&(ctx->block.color), "%.*s", len, val); sasprintf(&(ctx->block.color), "%.*s", len, val);
} }
@ -261,6 +265,7 @@ static int stdin_end_array(void *context) {
struct status_block *current; struct status_block *current;
TAILQ_FOREACH(current, &statusline_head, blocks) { TAILQ_FOREACH(current, &statusline_head, blocks) {
DLOG("full_text = %s\n", i3string_as_utf8(current->full_text)); 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("color = %s\n", current->color);
} }
DLOG("end of dump\n"); DLOG("end of dump\n");