]> git.sur5r.net Git - i3/i3/commitdiff
Introduce the short_text property on blocks and parse it according to the documentation.
authorIngo Bürk <ingo.buerk@tngtech.com>
Sat, 21 Mar 2015 20:33:38 +0000 (21:33 +0100)
committerIngo Bürk <ingo.buerk@tngtech.com>
Mon, 23 Mar 2015 10:03:45 +0000 (11:03 +0100)
i3bar/include/common.h
i3bar/src/child.c

index 997a429ed518aab68274c1cf59e41e14ce74e25c..3744df27e58c05e4c104570bf427879f580c4312 100644 (file)
@@ -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;
index efe028843d0e4b2e1b5fa02d70efc9bc3fa04f9f..521951f5cc664db3f517b9d6b04404c08f9e65f0 100644 (file)
@@ -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");