Fix swaybar not showing all status blocks.
This commit is contained in:
parent
48fca1c7ec
commit
1a0d367f22
|
@ -154,15 +154,14 @@ static uint32_t render_status_block(cairo_t *cairo,
|
||||||
block_width += block->border_right + margin;
|
block_width += block->border_right + margin;
|
||||||
}
|
}
|
||||||
|
|
||||||
int sep_width;
|
int sep_width, sep_height;
|
||||||
if (!edge) {
|
if (!edge) {
|
||||||
if (config->sep_symbol) {
|
if (config->sep_symbol) {
|
||||||
int _height;
|
get_text_size(cairo, config->font, &sep_width, &sep_height,
|
||||||
get_text_size(cairo, config->font, &sep_width, &_height,
|
|
||||||
output->scale, false, "%s", config->sep_symbol);
|
output->scale, false, "%s", config->sep_symbol);
|
||||||
uint32_t _ideal_height = _height + ws_vertical_padding * 2;
|
uint32_t _ideal_height = sep_height + ws_vertical_padding * 2;
|
||||||
if ((uint32_t)_height < _ideal_height / output->scale) {
|
if (_ideal_height * output->scale > height) {
|
||||||
return _height / output->scale;
|
return _ideal_height;
|
||||||
}
|
}
|
||||||
if (sep_width > block->separator_block_width) {
|
if (sep_width > block->separator_block_width) {
|
||||||
block->separator_block_width = sep_width + margin * 2;
|
block->separator_block_width = sep_width + margin * 2;
|
||||||
|
@ -240,7 +239,7 @@ static uint32_t render_status_block(cairo_t *cairo,
|
||||||
}
|
}
|
||||||
if (config->sep_symbol) {
|
if (config->sep_symbol) {
|
||||||
offset = pos + (block->separator_block_width - sep_width) / 2;
|
offset = pos + (block->separator_block_width - sep_width) / 2;
|
||||||
cairo_move_to(cairo, offset, margin);
|
cairo_move_to(cairo, offset, height / 2.0 - sep_height / 2.0);
|
||||||
pango_printf(cairo, config->font, output->scale, false,
|
pango_printf(cairo, config->font, output->scale, false,
|
||||||
"%s", config->sep_symbol);
|
"%s", config->sep_symbol);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue