[compiz] Re: Maximized windows dissappear

Mike Dransfield mike at blueroot.co.uk
Sun Apr 29 07:17:35 PDT 2007

Jesper Andersen wrote:
> Replying to my own email here:
> On Fri, 2007-04-27 at 09:05 +0200, Jesper Andersen wrote:
>> I am using the lastest git version of compiz and just run in to a new
>> problem after switching to using the ini configuration plugin over the
>> gconf-one. When I maximize a window and then try to move it to another
>> viewport, the cube rotates but the maximized window disappears instead
>> of moving along to the new viewport. The maximized window can be found
>> using the scale plugin (only on show-all action). Further, if I then try
>> to unmaximize the window, the window again disappears and I have to use
>> scale's show-all action. Now, however the window appears in some random
>> almost out of viewport location and I have to drag it back into
>> position.
>> I do not know whether it was my switch to the ini plugin that caused
>> this annoying change in behavior.
> I now tried with either gconf and ini (with the same settings) and
> nothing changes. However I noticed the following: whenever I move a
> window with some contents below the bottom edge of the screen to another
> viewport, it is immediately displaced on the new viewport so that most
> of the window's content is above the top edge of the screen. How much
> seems related to how much was hidden below the bottom edge before the
> move (this is only when moving a window to a new viewport by
> <Alt><Shift>Left/Right and similar, not for the usualy mouse-dragging of
> windows and also not for windows that are beyond any other screen
> edges). I have tried toggling the "Constrain y" option in the
> move-plugin to no avail. I also tried changing the "detect outputs" in
> the general options, also to no avail.
> I am not sure when this strange behavior was introduced and I am
> wondering whether I am really the only one seeing this?

No you are not.

I can see both of these problems now and I have tracked the
problem down to the moveWindowToViewportPosition function
OR the w->output.top calculation.

The exact line is this one

if (m - w->output.top < w->screen->height - vHeight)

In the case I just tested this variables had these values.

m = 20
w->output.top =23

w->screen.height and vHeight are both 1050.  This if statement
returns true because -3 < 0 and it shifts the window down.

Sorry, I am not sure how to best fix this one but it is a reproducible

I also see the offset problem as well and suspect its related to the
same thing.

More information about the compiz mailing list