diff options
Diffstat (limited to 'swaybar/render.c')
-rw-r--r-- | swaybar/render.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/swaybar/render.c b/swaybar/render.c index 7cbcea07..993c8228 100644 --- a/swaybar/render.c +++ b/swaybar/render.c | |||
@@ -35,7 +35,8 @@ static uint32_t render_status_line_error(cairo_t *cairo, | |||
35 | cairo_set_source_u32(cairo, 0xFF0000FF); | 35 | cairo_set_source_u32(cairo, 0xFF0000FF); |
36 | 36 | ||
37 | int margin = 3 * output->scale; | 37 | int margin = 3 * output->scale; |
38 | int ws_vertical_padding = WS_VERTICAL_PADDING * output->scale; | 38 | double ws_vertical_padding = |
39 | output->bar->config->status_padding * output->scale; | ||
39 | 40 | ||
40 | char *font = output->bar->config->font; | 41 | char *font = output->bar->config->font; |
41 | int text_width, text_height; | 42 | int text_width, text_height; |
@@ -71,7 +72,7 @@ static uint32_t render_status_line_text(cairo_t *cairo, | |||
71 | get_text_size(cairo, config->font, &text_width, &text_height, NULL, | 72 | get_text_size(cairo, config->font, &text_width, &text_height, NULL, |
72 | output->scale, config->pango_markup, "%s", text); | 73 | output->scale, config->pango_markup, "%s", text); |
73 | 74 | ||
74 | int ws_vertical_padding = WS_VERTICAL_PADDING * output->scale; | 75 | double ws_vertical_padding = config->status_padding * output->scale; |
75 | int margin = 3 * output->scale; | 76 | int margin = 3 * output->scale; |
76 | 77 | ||
77 | uint32_t ideal_height = text_height + ws_vertical_padding * 2; | 78 | uint32_t ideal_height = text_height + ws_vertical_padding * 2; |
@@ -153,7 +154,7 @@ static uint32_t render_status_block(cairo_t *cairo, | |||
153 | output->scale, block->markup, "%s", block->full_text); | 154 | output->scale, block->markup, "%s", block->full_text); |
154 | 155 | ||
155 | int margin = 3 * output->scale; | 156 | int margin = 3 * output->scale; |
156 | double ws_vertical_padding = WS_VERTICAL_PADDING * 2 * output->scale; | 157 | double ws_vertical_padding = config->status_padding * output->scale; |
157 | 158 | ||
158 | int width = text_width; | 159 | int width = text_width; |
159 | if (width < block->min_width) { | 160 | if (width < block->min_width) { |
@@ -193,8 +194,8 @@ static uint32_t render_status_block(cairo_t *cairo, | |||
193 | } | 194 | } |
194 | } | 195 | } |
195 | *x -= sep_block_width; | 196 | *x -= sep_block_width; |
196 | } else { | 197 | } else if (config->status_edge_padding) { |
197 | *x -= margin; | 198 | *x -= config->status_edge_padding * output->scale; |
198 | } | 199 | } |
199 | 200 | ||
200 | uint32_t height = output->height * output->scale; | 201 | uint32_t height = output->height * output->scale; |
@@ -212,8 +213,8 @@ static uint32_t render_status_block(cairo_t *cairo, | |||
212 | } | 213 | } |
213 | 214 | ||
214 | double x_pos = *x; | 215 | double x_pos = *x; |
215 | double y_pos = WS_VERTICAL_PADDING * output->scale; | 216 | double y_pos = ws_vertical_padding; |
216 | double render_height = height - ws_vertical_padding + output->scale; | 217 | double render_height = height - ws_vertical_padding * 2; |
217 | 218 | ||
218 | uint32_t bg_color = block->urgent | 219 | uint32_t bg_color = block->urgent |
219 | ? config->colors.urgent_workspace.background : block->background; | 220 | ? config->colors.urgent_workspace.background : block->background; |
@@ -286,7 +287,7 @@ static uint32_t render_status_block(cairo_t *cairo, | |||
286 | static uint32_t render_status_line_i3bar(cairo_t *cairo, | 287 | static uint32_t render_status_line_i3bar(cairo_t *cairo, |
287 | struct swaybar_output *output, double *x) { | 288 | struct swaybar_output *output, double *x) { |
288 | uint32_t max_height = 0; | 289 | uint32_t max_height = 0; |
289 | bool edge = true; | 290 | bool edge = *x == output->width * output->scale; |
290 | struct i3bar_block *block; | 291 | struct i3bar_block *block; |
291 | wl_list_for_each(block, &output->bar->status->blocks, link) { | 292 | wl_list_for_each(block, &output->bar->status->blocks, link) { |
292 | uint32_t h = render_status_block(cairo, output, block, x, edge); | 293 | uint32_t h = render_status_block(cairo, output, block, x, edge); |