Re: Review: FULLSCREEN_MONITORS Hint



On Thursday 22 of November 2007, Grant Patterson wrote:
> Hello,
>
> My colleague David Trowbridge has been communicating on the wm-spec list
> about a FULLSCREEN_MONITORS hint, which would allow a fullscreen window to
> stretch over multiple monitors. We here on the VMware Linux UI team need
> such a hint to provide a more reliable multi-monitor experience in our
> Linux desktop products.

 Given that this can be useful also e.g. for Xine, I'd support this, with some 
comments:

> The basic idea: windows can specify a list of monitor indexes. If they do,
> they will be stretched over the monitors when fullscreened. Implementing
> this functionality is straightforward; we have preliminary patches for
> Metacity, Enlightenment, Fluxbox, and fvwm. Philip Langdale will probably
> implement for Sawfish. A kwin developer has also expressed willingness to
> help.

 Do I know him :) ?

>      <sect2>
>                 <title>_NET_WM_FULLSCREEN_MONITORS</title>
>                 <programlisting><![CDATA[
> _NET_WM_FULLSCREEN_MONITORS, CARDINAL[]/32
> ]]></programlisting>
>        <para>
> A read-only list of monitor indeces indicating which monitors the window
> should stretch over when fullscreened. The window must cover the union of

 "The window should" - this is a request to the WM and there's no guarantee it 
will honour it.

> all monitors indicated in the list.
>        </para>
>        <para>
> An empty list indicates that the Window Manager should obey normal
> fullscreen conventions; that is, the window should be stretched over the
> monitor it was in when it entered fullscreen.

 This part is a bit ambiguous - is it just explicitly saying that empty 
property is the same like no property at all, or that the WM should remember 
the state before the property was set?

>        </para>
>        <para>
> When placing children of the window (i.e. popup dialogs), the Window
> Manager centers them on the monitor containing the mouse cursor, provided
> this is a monitor listed in _NET_WM_FULLSCREEN_MONITORS. If not, children
> are placed on the first monitor indicated in the list.

 As already said by Havoc, this is imposing a policy. This should be a 
recommendation at most.

>        </para>
>        <para>
> A Client wishing to change this list MUST send a
> _NET_WM_FULLSCREEN_MONITORS client message to the root window. The Window
> Manager MUST
> keep this list updated to reflect the current state of the window.
>        </para>

 I'd support Mark's opinion here - if the property is only client's, then 
there's no need for a message and you won't have any arbitrary limitations. 
The client can simply set the property to a list of Xinerama screens.

-- 
Lubos Lunak
KDE developer
--------------------------------------------------------------
SUSE LINUX, s.r.o.   e-mail: l lunak suse cz , l lunak kde org
Lihovarska 1060/12   tel: +420 284 028 972
190 00 Prague 9      fax: +420 284 028 951
Czech Republic       http//www.suse.cz


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]