all repos — openbox @ 0da49e82aea1e881792ffc45a48301a090af18f3

openbox fork - make it a bit more like ryudo

when drawing and measuring strings in "flow" mode, don't ellipsize so that lines can wrap
Dana Jansens danakj@orodu.net
commit

0da49e82aea1e881792ffc45a48301a090af18f3

parent

7b4556b2111b03dcdca4a58e1bde94a66ba86806

1 files changed, 18 insertions(+), 12 deletions(-)

jump to
M render/font.crender/font.c

@@ -148,11 +148,13 @@ pango_layout_set_text(f->layout, str, -1);

if (flow) { pango_layout_set_single_paragraph_mode(f->layout, FALSE); pango_layout_set_width(f->layout, maxwidth * PANGO_SCALE); + pango_layout_set_ellipsize(f->layout, PANGO_ELLIPSIZE_NONE); } else { /* single line mode */ pango_layout_set_single_paragraph_mode(f->layout, TRUE); pango_layout_set_width(f->layout, -1); + pango_layout_set_ellipsize(f->layout, PANGO_ELLIPSIZE_MIDDLE); } /* pango_layout_get_pixel_extents lies! this is the right way to get the

@@ -240,19 +242,23 @@ if (t->flow) w = MAX(w, t->maxwidth);

w -= 4; h = area->height; - switch (t->ellipsize) { - case RR_ELLIPSIZE_NONE: + if (t->flow) ell = PANGO_ELLIPSIZE_NONE; - break; - case RR_ELLIPSIZE_START: - ell = PANGO_ELLIPSIZE_START; - break; - case RR_ELLIPSIZE_MIDDLE: - ell = PANGO_ELLIPSIZE_MIDDLE; - break; - case RR_ELLIPSIZE_END: - ell = PANGO_ELLIPSIZE_END; - break; + else { + switch (t->ellipsize) { + case RR_ELLIPSIZE_NONE: + ell = PANGO_ELLIPSIZE_NONE; + break; + case RR_ELLIPSIZE_START: + ell = PANGO_ELLIPSIZE_START; + break; + case RR_ELLIPSIZE_MIDDLE: + ell = PANGO_ELLIPSIZE_MIDDLE; + break; + case RR_ELLIPSIZE_END: + ell = PANGO_ELLIPSIZE_END; + break; + } } pango_layout_set_text(t->font->layout, t->string, -1);