RFC: FULLSCREEN_MONITORS property



Some of you may have noticed my cry for help on planet gnome
(http://david.navi.cx/blog/?p=131).  After spending some more time
getting particularly frustrated trying to work around individual
window manager implementations, I finally worked up the courage to try
implementing this as a hint.  Kudos to the metacity developers for
having a slightly-more-documented-than-usual codebase.

My preliminary implementation is at
http://bugzilla.gnome.org/show_bug.cgi?id=414476

I'm writing here to solicit comments on my chosen implementation.
What I've done is to create a new hint, which I'd personally name
_NET_WM_FULLSCREEN_MONITORS (though I honestly don't care what it's
called), which has a list of integers.  These correspond to the screen
numbers in a xinerama configuration.  The window manager is expected
to place a window over the union of these screens.  On a two-head
system, specifying [0,1] would give a single window across the entire
desktop area.  On a three-head system, it would cover two of the three
heads.  Setting a single screen index will place the window on that
screen, regardless of where the window's saved coordinates are.

This property has no effect if the window is not fullscreen.  If a
window goes fullscreen without this hint, it works exactly as before.

As I stated in the bug report with the patch, I'd love to get a
standard agreed upon in the next month or so, to ensure that I can
turn on conditional support for this so our capabilities improve as
people upgrade to new WM releases.  It's highly likely that after WS6
is released, we'd be able to get some developer resources towards
implementing this for a number of other popular window managers, since
it really improves our fullscreen experience (in case people have
concerns about implementation).

-David



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