Re: _NET_WORKAREA and dual head
- From: Lubos Lunak <l lunak suse cz>
- To: wm-spec-list gnome org
- Subject: Re: _NET_WORKAREA and dual head
- Date: Fri, 12 Mar 2004 19:20:55 +0100
Dne pá 12. března 2004 18:31 Rob Adams napsal(a):
> On Fri, 2004-03-12 at 11:25 -0600, Billy Biggs wrote:
> > I'm sorry, I thought that _NET_WM_STRUT was deprecated in favour of
> > _NET_WM_STRUT_PARTIAL. Furthermore, I thought metacity at least by
> > looking at it has these get_work_area_xinerama calls which on first pass
> > seemed to be built to handle these cases. It shouldn't be any more
> > difficult than maximize logic with a panel on just one head.
>
> That's true, but _STRUT_PARTIAL has many of the same difficulties as
> _STRUT. The property defines a rectangle that extends to the edge of
> the root window -- there is no way to specify internal struts. As I
> said, I think that an extension to support this would be nice.
>
> In metacity, implementing such a property based on the current code
> would be quite trivial. But as I've said, the property does not yet
> exist -- it would require modifying the specification.
Perhaps we should drop the _STRUT_PARTIAL hint (as it hasn't been part of any
official spec release anyway), and go with _NET_WM_RESERVE_AREA or similar?
And _NET_WORKAREA would have to be extended (or deprecated in favour of
another hint) to provide a list of workareas per every screen (or maybe it
could be deprecated in favour of making desktop icons apps find out the
available areas from the hints themselves, but that's probably too much).
I checked the archives, and the spec apparently uses this struts concept
instead of the more intuitive DO_NOT_COVER only because of autohiding panels
(http://mail.gnome.org/archives/wm-spec-list/1999-October/msg00007.html).
However, if we define the hint not to say "don't cover this window" but
instead "don't cover this area", and the area will be given in the hint, then
I see struts as the inferior concept. Autohiding panels will simply specify
the smaller area in the hint.
Clearly, this could get complicated if one specifies area in the middle of
the screen. But IMHO it'd be acceptable to say that's it's fine if WMs simply
the workarea to be the smallest rectangular area that doesn't intersect any
of the do-not-cover areas. Xinerama-capable WMs will of course do this
per-screen, and the most crazy^H^H^Hadvanced WMs can try to handle even
non-rectangular areas.
Comments?
--
Lubos Lunak
KDE Developer
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]