Comment 3 for bug 904958

Revision history for this message
In , Mark (mark-k) wrote :

I might have found the cause of the problem.

In src/frame.c, the frameTop() definition does not have similar checks for CLIENT_FLAG_MAXIMIZED as the frameLeft(), frameRight() and frameBottom() functions.

Should the frameTop() function be changed to read something like this?

int
frameTop (Client * c)
{
    TRACE ("entering frameTop");

    g_return_val_if_fail (c != NULL, 0);
    if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
        && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
        && (!FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED) // This condition added
            || !(c->screen_info->params->borderless_maximize))) // This condition added
    {
        return c->screen_info->title[TITLE_3][ACTIVE].height;
    }
    return 0;
}