← Back to team overview

unity-dev team mailing list archive

[compiz] Holding all decoration, maximization and placement related fixes in compiz for the next week.

 

Hey all,

I'd like to propose that we hold all changes to the decor and place
plugins for at least the next week when I will be able to get an
acceptance test suite in place. The behavior of these two plugins have
proven to be very tightly coupled with the rest of compiz and subject
to lots of corner cases which in turn has led to bug whack-a-mole.

This is one of those cases where the codebase has just proven to be so
sensitive that I don't feel confident doing any kind of refactoring to
introduce unit tests for it. Instead of I plan to add a small
acceptance test suite which launches compiz on xorg-gtest with the
decor plugin and verifies the following cases:

1. Maximizing a window horizontally or vertically does not change its
parent window y/height x/width respectively
2. _NET_WM_FRAME_EXTENTS are set correctly for windows that request it
on unmapped windows with _NET_WM_REQUEST_FRAME_EXTENTS
3. Windows with the StaticGravity hint set are placed with regards to
their decoration extents (friends-app)
4. Windows which have StaticGravity set are placed with regards to
their initial decoration size, and are subsequently expanded to their
old size plus the decoration extents in the case that they lose their
decorations (guake)
5. Windows initially maximized get their input extents set correctly
6. Windows undecorated whilst maximized are demaximized in the correct
position when they are later re-decorated.

etc.

I'll try and come up with test cases to cover as much of the plugin's
functionality as possible. Given its current state, I expect some of
these to be failing tests, so I won't add them to CI by default until
we can make them all pass.

The reason why I'd like to hold these two plugins is because that will
at least give me some stability and something to work with whilst
writing the testsuite.

Is that okay with everyone? I apologize for the turbulence at the
moment, its quite clear that we just need a better way of doing this.

Best,

Sam

--
Sam Spilsbury


Follow ups