Re: Review: FULLSCREEN_MONITORS Hint



Hi,

Thanks for the patch! I dug out some past threads, for reference:

http://mail.gnome.org/archives/wm-spec-list/2007-March/msg00002.html
http://mail.gnome.org/archives/wm-spec-list/2007-April/msg00001.html

Grant Patterson wrote:
      <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.
      </para>

Probably this should be a suggestion not a requirement - the important thing to have in the spec is something like "windows transient for the window with _NET_WM_FULLSCREEN_MONITORS set, such as those with type _NET_WM_WINDOW_TYPE_DIALOG, are generally expected to be positioned (e.g. centered) with respect to only one of the monitors." You could continue to say something like "An example window manager policy might center the dialog on the fullscreen monitor containing the mouse pointer, or just choose the first fullscreen monitor if none of them contain the mouse pointer."

It might be useful to explain some example applications that could use the hint.

"Virtual machine software may use this hint to have a virtual operating system instance that will see multiple monitors. The multiple physical monitors are mapped to multiple virtual monitors controlled by the virtual machine software."

"This hint might also be used by a movie or presentation application that could allow the user to set up a movie or presentation such that it spans multiple monitors."

"In both cases, the application would have some user interface allowing the user to configure which monitors the application fullscreens to. The window manager need not provide such an interface, though it could."

I guess some of this could go in the "Implementation Notes" rather than in the main part of the spec.

<programlisting><![CDATA[
  window  = the respective client window
  message_type = _NET_WM_FULLSCREEN_MONITORS
  format = 32
  data.b[0] = number of monitors (n) in the list
  data.b[1] = first monitor in the list
  data.b[2] = second monitor in the list
  ...

It might be nice to say explicitly what these indexes correspond to. (Are they the indexes returned by the Xinerama extension?)

Another thing to address, I believe the Xinerama config can now change dynamically... what happens then? (I'm not sure, to be honest, what the plans are in this area from X.org)

Havoc



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