Don't ever give borders to windows that didnt have them before by making them "undecorated" with the keepborder config option on.

This fixes what commit 85f39cd27e fixed for the
fullscreen window case, but also fixes bug #4344.
This commit is contained in:
Dana Jansens 2009-11-21 16:43:00 -05:00
parent ac6cd2344f
commit ada5de28f7
2 changed files with 7 additions and 7 deletions

View file

@ -1826,7 +1826,8 @@ void client_setup_decor_and_functions(ObClient *self, gboolean reconfig)
/* finally, the user can have requested no decorations, which overrides
everything (but doesnt give it a border if it doesnt have one) */
if (self->undecorated)
self->decorations = 0;
self->decorations &= (config_theme_keepborder ?
OB_FRAME_DECOR_BORDER : 0);
/* if we don't have a titlebar, then we cannot shade! */
if (!(self->decorations & OB_FRAME_DECOR_TITLEBAR))

View file

@ -340,14 +340,14 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
self->max_vert = self->client->max_vert;
self->shaded = self->client->shaded;
if (self->decorations & OB_FRAME_DECOR_BORDER ||
(self->client->undecorated && config_theme_keepborder
&& !self->client->fullscreen))
if (self->decorations & OB_FRAME_DECOR_BORDER)
self->bwidth = ob_rr_theme->fbwidth;
else
self->bwidth = 0;
if (self->decorations & OB_FRAME_DECOR_BORDER) {
if (self->decorations & OB_FRAME_DECOR_BORDER &&
!self->client->undecorated)
{
self->cbwidth_l = self->cbwidth_r = ob_rr_theme->cbwidthx;
self->cbwidth_t = self->cbwidth_b = ob_rr_theme->cbwidthy;
} else
@ -371,8 +371,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
STRUT_SET(self->size,
self->cbwidth_l + (!self->max_horz ? self->bwidth : 0),
self->cbwidth_t +
(!self->max_horz || !self->max_vert ||
!self->client->undecorated ? self->bwidth : 0),
(!self->max_horz || !self->max_vert ? self->bwidth : 0),
self->cbwidth_r + (!self->max_horz ? self->bwidth : 0),
self->cbwidth_b +
(!self->max_horz || !self->max_vert ? self->bwidth : 0));