theme: Don't add any bottom border to shaded windows

Shaded windows are assumed to be reduced to the titlebar: the
current code enforces a visible bottom border of 0 and only takes
the size of the title bar (+ invisible top border) into account
when resizing the frame. However, we still add an invisible border
at the bottom, which is than subtracted from the title bar, resulting
in shaded windows being cut off.
Fix by forcing both visible and invisible bottom borders to 0.

https://bugzilla.gnome.org/show_bug.cgi?id=659266
This commit is contained in:
Florian Müllner 2011-09-17 02:21:53 +02:00
parent 5f1c3de29a
commit 6087a71951

View File

@ -420,10 +420,7 @@ meta_frame_layout_get_borders (const MetaFrameLayout *layout,
borders->visible.top = MAX (buttons_height, title_height); borders->visible.top = MAX (buttons_height, title_height);
borders->visible.left = layout->left_width; borders->visible.left = layout->left_width;
borders->visible.right = layout->right_width; borders->visible.right = layout->right_width;
if (flags & META_FRAME_SHADED) borders->visible.bottom = layout->bottom_height;
borders->visible.bottom = 0;
else
borders->visible.bottom = layout->bottom_height;
if (flags & META_FRAME_FULLSCREEN) if (flags & META_FRAME_FULLSCREEN)
{ {
@ -445,6 +442,9 @@ meta_frame_layout_get_borders (const MetaFrameLayout *layout,
if (type == META_FRAME_TYPE_ATTACHED) if (type == META_FRAME_TYPE_ATTACHED)
borders->invisible.top = 0; borders->invisible.top = 0;
if (flags & META_FRAME_SHADED)
borders->visible.bottom = borders->invisible.bottom = 0;
borders->total.left = borders->invisible.left + borders->visible.left; borders->total.left = borders->invisible.left + borders->visible.left;
borders->total.right = borders->invisible.right + borders->visible.right; borders->total.right = borders->invisible.right + borders->visible.right;
borders->total.bottom = borders->invisible.bottom + borders->visible.bottom; borders->total.bottom = borders->invisible.bottom + borders->visible.bottom;