From 8286b441be2a182316938a5e080d0778108b69c4 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 6 May 2007 11:23:41 +0000 Subject: [PATCH] fix the popup text width, cuz the way its calculated changed --- openbox/popup.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/openbox/popup.c b/openbox/popup.c index 75bbdcab..b2343867 100644 --- a/openbox/popup.c +++ b/openbox/popup.c @@ -136,6 +136,7 @@ void popup_delay_show(ObPopup *self, gulong usec, gchar *text) { gint l, t, r, b; gint x, y, w, h; + gint xpadding, ypadding; gint textw, texth; gint iconw; Rect *area; /* won't go outside this */ @@ -157,21 +158,26 @@ void popup_delay_show(ObPopup *self, gulong usec, gchar *text) RrMinSize(self->a_text, &textw, &texth); texth += ob_rr_theme->paddingy * 2; + ypadding = (t+b + ob_rr_theme->paddingy * 2); + /* set the sizes up and reget the text sizes from the calculated outer sizes */ if (self->h) { h = self->h; - texth = h - (t+b + ob_rr_theme->paddingy * 2); + texth = h - ypadding; } else - h = t+b + texth + ob_rr_theme->paddingy * 2; + h = texth + ypadding; + iconw = (self->hasicon ? texth : 0); + xpadding = l+r + iconw + ob_rr_theme->paddingx * + (self->hasicon ? 3 : 2); + if (self->w) textw = self->w; - w = l+r + textw + iconw + ob_rr_theme->paddingx * - (self->hasicon ? 3 : 2); + w = textw + xpadding; /* cap it at "maxw" */ - if (self->maxw) - w = MIN(w, self->maxw); + if (self->maxw) w = MIN(w, self->maxw); + textw = w - xpadding; /* sanity checks to avoid crashes! */ if (w < 1) w = 1; -- 2.39.2