diff options
author | 2018-03-27 01:14:03 +0000 | |
---|---|---|
committer | 2018-03-27 06:56:09 +0000 | |
commit | 54444e7587589309e329c539ed2b2d505b443ba7 (patch) | |
tree | db2771489afbfbffcc77a038867bcc45117ba38a /swaybar | |
parent | Merge pull request #1633 from mckinney-subgraph/0.15 (diff) | |
download | sway-54444e7587589309e329c539ed2b2d505b443ba7.tar.gz sway-54444e7587589309e329c539ed2b2d505b443ba7.tar.zst sway-54444e7587589309e329c539ed2b2d505b443ba7.zip |
swaybar: correctly render min_width for strings
fixes #1635
Diffstat (limited to 'swaybar')
-rw-r--r-- | swaybar/render.c | 7 | ||||
-rw-r--r-- | swaybar/status_line.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/swaybar/render.c b/swaybar/render.c index e874fc86..b3494351 100644 --- a/swaybar/render.c +++ b/swaybar/render.c | |||
@@ -61,6 +61,13 @@ static void render_block(struct window *window, struct config *config, struct st | |||
61 | int textwidth = width; | 61 | int textwidth = width; |
62 | double block_width = width; | 62 | double block_width = width; |
63 | 63 | ||
64 | if (block->min_width_str) { | ||
65 | int w, h; | ||
66 | get_text_size(window->cairo, window->font, &w, &h, | ||
67 | window->scale, block->markup, "%s", block->min_width_str); | ||
68 | block->min_width = w; | ||
69 | } | ||
70 | |||
64 | if (width < block->min_width) { | 71 | if (width < block->min_width) { |
65 | width = block->min_width; | 72 | width = block->min_width; |
66 | } | 73 | } |
diff --git a/swaybar/status_line.c b/swaybar/status_line.c index bbb798f1..0f88cfc8 100644 --- a/swaybar/status_line.c +++ b/swaybar/status_line.c | |||
@@ -121,7 +121,7 @@ static void parse_json(struct bar *bar, const char *text) { | |||
121 | new->min_width = json_object_get_int(min_width); | 121 | new->min_width = json_object_get_int(min_width); |
122 | } else if (type == json_type_string) { | 122 | } else if (type == json_type_string) { |
123 | /* the width will be calculated when rendering */ | 123 | /* the width will be calculated when rendering */ |
124 | new->min_width = 0; | 124 | new->min_width_str = strdup(json_object_get_string(min_width)); |
125 | } | 125 | } |
126 | } | 126 | } |
127 | 127 | ||