]> Dogcows Code - chaz/openbox/blobdiff - openbox/popup.c
center text in popups when the popu is sized to the text width
[chaz/openbox] / openbox / popup.c
index 6002738670f9ec27608ba258d06553df0256d850..3924a4d164a5f45837e4dc6b664682dc35cbd4bb 100644 (file)
@@ -158,6 +158,9 @@ void popup_delay_show(ObPopup *self, gulong usec, gchar *text)
 
     area = screen_physical_area();
 
+    /* when there is no icon and the text is not parent relative, then 
+       fill the whole dialog with the text appearance, don't use the bg at all
+    */
     if (self->hasicon || self->a_text->surface.grad == RR_SURFACE_PARENTREL)
         RrMargins(self->a_bg, &l, &t, &r, &b);
     else
@@ -180,8 +183,11 @@ void popup_delay_show(ObPopup *self, gulong usec, gchar *text)
         texth = self->h - emptyy;
     h = texth * self->iconhm + emptyy;
 
-    if (self->textw)
+    if (self->textw) {
+        self->a_text->texture[0].data.text.justify = RR_JUSTIFY_LEFT;
         textw = self->textw;
+    } else
+        self->a_text->texture[0].data.text.justify = RR_JUSTIFY_CENTER;
 
     iconx = textx = l + ob_rr_theme->paddingx;
 
@@ -198,6 +204,9 @@ void popup_delay_show(ObPopup *self, gulong usec, gchar *text)
     texty = (h - texth - emptyy) / 2 + t + ob_rr_theme->paddingy;
     icony = (h - iconh - emptyy) / 2 + t + ob_rr_theme->paddingy;
 
+    /* when there is no icon and the text is not parent relative, then 
+       fill the whole dialog with the text appearance, don't use the bg at all
+    */
     if (!(self->hasicon || self->a_text->surface.grad == RR_SURFACE_PARENTREL))
     {
         textx = texty = 0;
@@ -244,6 +253,9 @@ void popup_delay_show(ObPopup *self, gulong usec, gchar *text)
     
     /* set the windows/appearances up */
     XMoveResizeWindow(ob_display, self->bg, x, y, w, h);
+    /* when there is no icon and the text is not parent relative, then 
+       fill the whole dialog with the text appearance, don't use the bg at all
+    */
     if (self->hasicon || self->a_text->surface.grad == RR_SURFACE_PARENTREL)
         RrPaint(self->a_bg, self->bg, w, h);
 
This page took 0.020839 seconds and 4 git commands to generate.