Re: Review: FULLSCREEN_MONITORS Hint

Lubos Lunak <[email protected]>
Newsgroups gmane.comp.gnome.wm-spec
Message-ID <[email protected]>
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: [email protected] , [email protected]
Lihovarska 1060/12   tel: +420 284 028 972
190 00 Prague 9      fax: +420 284 028 951
Czech Republic       http//www.suse.cz
_______________________________________________
wm-spec-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/wm-spec-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.