[compiz] Set workarea per output (instead of screen)?

David Reveman davidr at novell.com
Wed Nov 8 10:27:53 PST 2006

On Tue, 2006-11-07 at 14:28 -0700, Mike Cook wrote:
> Hey, I'm thinking about the addition of the getWorkareaForOutput method,
> and I'm wondering if it wouldn't make sense to define the workarea as part
> of the CompOutput struct and set it up as part of (or replacing?) the
> updateWorkareaForScreen call.  Either that or make the call to
> getWorkareaForOutput redo the extents calculation on the windows within
> only that output.  Which do you think makes more sense?

Yes, to put a per output workarea in the CompOutput struct and have
updateWorkareaForScreen update them sounds like a good idea.

> A key issue as I see it is that panels, etc., may only be on a given output and
> not necessarily on the outer edges, so for a window to maximize correctly
> within an output it needs to only honor the extents in that output.

It should work OK when we have per output workareas which are computed
using the data from each windows _NET_WM_STRUT_PARTIAL hint.

> In fact, is it possible that there should only be workareas as part of the
> outputs and drop it entirely from screen?  I haven't dug through the code
> in all the plugins to know if that just doesn't make sense.

We can probably do that eventually but we still need to keep the
_NET_WORKAREA hint updated properly.


More information about the compiz mailing list