When an undecorated window is maximized give it a 1px border at the top (Fix bug 5506)
We want to keep some way for a user to re-decorate the window with the default bindings. However with a large border width, the top border is much bigger than it needs to be! So make it fixed at 1px large in this case.
This commit is contained in:
parent
1869e4e830
commit
8a26a5190c
1 changed files with 10 additions and 1 deletions
|
@ -378,13 +378,22 @@ 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->bwidth,
|
||||
self->cbwidth_t +
|
||||
(!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));
|
||||
|
||||
if (self->decorations & OB_FRAME_DECOR_TITLEBAR)
|
||||
self->size.top += ob_rr_theme->title_height + self->bwidth;
|
||||
else if (self->max_horz && self->max_vert) {
|
||||
/* A maximized and undecorated window needs a small border on the
|
||||
top of the window to let the user still undecorate/unmaximize the
|
||||
window via the client menu. */
|
||||
/* XXX This size should probably be a theme option. */
|
||||
self->size.top += 1;
|
||||
}
|
||||
|
||||
if (self->decorations & OB_FRAME_DECOR_HANDLE &&
|
||||
ob_rr_theme->handle_height > 0)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue