splash screens get "transient" set to TRUE by
the place_client call
*/
- transient ||
- (!(self->positioned & USPosition) &&
- client_normal(self) &&
- !self->session));
+ ob_state() == OB_STATE_RUNNING &&
+ (transient ||
+ (!(self->positioned & USPosition) &&
+ client_normal(self) &&
+ !self->session)));
}
/* if the window isn't user-sized, then make it fit inside
splash screens get "transient" set to TRUE by
the place_client call
*/
- if (transient ||
- (!(self->sized & USSize) &&
- client_normal(self) &&
- !self->session))
+ if (ob_state() == OB_STATE_RUNNING &&
+ (transient ||
+ (!(self->sized & USSize) &&
+ client_normal(self) &&
+ !self->session)))
{
/* make a copy to modify */
Rect a = *screen_area_monitor(self->desktop, client_monitor(self));
#define ICON_HILITE_WIDTH 2
#define ICON_HILITE_MARGIN 1
#define OUTSIDE_BORDER 3
+#define TEXT_BORDER 2
typedef struct _ObFocusCyclePopup ObFocusCyclePopup;
typedef struct _ObFocusCyclePopupTarget ObFocusCyclePopupTarget;
/* get the text dimensions */
textw = w - l - r;
- texth = RrMinHeight(p->a_text);
+ texth = RrMinHeight(p->a_text) + TEXT_BORDER * 2;
/* find the height of the dialog */
- h = t + b + (icon_rows * ICON_SIZE) + (OUTSIDE_BORDER*2 + texth);
+ h = t + b + (icon_rows * ICON_SIZE) + (OUTSIDE_BORDER + texth);
/* get the position of the text */
textx = l;
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
+ /* when there is no icon, then fill the whole dialog with the text
+ appearance
*/
- if (!(self->hasicon || self->a_text->surface.grad == RR_SURFACE_PARENTREL))
+ if (!self->hasicon)
{
textx = texty = 0;
texth += emptyy;