From: Michael Stapelberg Date: Sat, 21 Mar 2015 15:32:19 +0000 (+0100) Subject: Merge pull request #1549 from shdown/y-offset-fix X-Git-Tag: 4.10.1~45 X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=commitdiff_plain;h=5b80713233a70ab1bb4a6e5b4e676d4cf29b05b7;hp=09e4fb716caec9e71d52a64c1304ad9139bbab50 Merge pull request #1549 from shdown/y-offset-fix Fix incorrect y-offset for text in i3bar (2) --- diff --git a/libi3/font.c b/libi3/font.c index cb92d52f..847bc61b 100644 --- a/libi3/font.c +++ b/libi3/font.c @@ -126,7 +126,10 @@ static void draw_text_pango(const char *text, size_t text_len, cairo_set_source_rgb(cr, pango_font_red, pango_font_green, pango_font_blue); pango_cairo_update_layout(cr, layout); pango_layout_get_pixel_size(layout, NULL, &height); - cairo_move_to(cr, x, y - 0.5 * (height - savedFont->height)); + /* Center the piece of text vertically if its height is smaller than the + * cached font height, and just let "high" symbols fall out otherwise. */ + int yoffset = (height < savedFont->height ? 0.5 : 1) * (height - savedFont->height); + cairo_move_to(cr, x, y - yoffset); pango_cairo_show_layout(cr, layout); /* Free resources */