diff options
| author | Dana Jansens <danakj@orodu.net> | 2012-10-01 00:32:39 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2012-10-06 22:47:46 -0400 |
| commit | 8a26a5190ca8479b96261c9e896e88bd32f56d06 (patch) | |
| tree | 7b9c354bb439025752f3841d76ff3d1dc0a91c2c /openbox/frame.c | |
| parent | 1869e4e830d08acd5f7801acd8910ce99806f53b (diff) | |
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.
Diffstat (limited to 'openbox/frame.c')
| -rw-r--r-- | openbox/frame.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/openbox/frame.c b/openbox/frame.c index 48dda24e..24d3eb53 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -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) { |
