i3bar: use Pango markup
Parse text within workspace buttons and the i3bar statusline as Pango markup. This lets people specify things like font weight, text color, background color, font size, and font family in the text of i3bar. fixes #1468
This commit is contained in:
@ -182,7 +182,7 @@ static int stdin_boolean(void *context, int val) {
|
||||
static int stdin_string(void *context, const unsigned char *val, size_t len) {
|
||||
parser_ctx *ctx = context;
|
||||
if (strcasecmp(ctx->last_map_key, "full_text") == 0) {
|
||||
ctx->block.full_text = i3string_from_utf8_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, "color") == 0) {
|
||||
sasprintf(&(ctx->block.color), "%.*s", len, val);
|
||||
@ -196,7 +196,7 @@ static int stdin_string(void *context, const unsigned char *val, size_t len) {
|
||||
ctx->block.align = ALIGN_LEFT;
|
||||
}
|
||||
} else if (strcasecmp(ctx->last_map_key, "min_width") == 0) {
|
||||
i3String *text = i3string_from_utf8_with_length((const char *)val, len);
|
||||
i3String *text = i3string_from_markup_with_length((const char *)val, len);
|
||||
ctx->block.min_width = (uint32_t)predict_text_width(text);
|
||||
i3string_free(text);
|
||||
}
|
||||
@ -304,7 +304,7 @@ static void read_flat_input(char *buffer, int length) {
|
||||
buffer[length - 1] = '\0';
|
||||
else
|
||||
buffer[length] = '\0';
|
||||
first->full_text = i3string_from_utf8(buffer);
|
||||
first->full_text = i3string_from_markup(buffer);
|
||||
}
|
||||
|
||||
static bool read_json_input(unsigned char *input, int length) {
|
||||
|
Reference in New Issue
Block a user