Package: dunst Version: 1.0.0-2 Followup-For: Bug #705607
The problem is caused by pango not knowing the final layout width when rendering. The attached patch fixes the problem.
--- dunst-1.0.0.Orig/x.c 2014-03-05 12:41:03.274349758 +0100 +++ dunst-1.0.0/x.c 2014-03-05 14:46:01.670678667 +0100 @@ -160,6 +160,17 @@ } +static void r_update_layouts_width(GSList *layouts, int width) +{ + width -= 2 * settings.h_padding; + width -= 2 * settings.frame_width; + + for (GSList *iter = layouts; iter; iter = iter->next) { + colored_layout *cl = iter->data; + pango_layout_set_width(cl->l, width * PANGO_SCALE); + } +} + static void free_colored_layout(void *data) { colored_layout *cl = data; @@ -379,6 +390,10 @@ int width = dim.w; int height = dim.h; + if (have_dynamic_width() && settings.align != left) { + r_update_layouts_width(layouts, width); + } + cairo_t *c; cairo_surface_t *image_surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); c = cairo_create(image_surface);