Re: Review: FULLSCREEN_MONITORS Hint



On Nov 24, 2007, at 11:48 a, Mark Tiefenbruck wrote:

Presumably the monitors used will be a rectangular array. You could
just specify a top-left and bottom-right monitor. Or maybe it would be
easier to specify x- and y-coordinates in the root window, since
monitors tend to be of different sizes. It really depends on what the
applications are, I think.

Both of those are interesting ideas, in particular specifying root window coordinates. That would make this a bigger hint/property: an application could essentially place its window anywhere it wants, which might be more leeway than people are comfortable with. There could be some kind of sanity checking, but expecting the WM to confirm that the given coordinates actually specify a union of monitors would necessitate implementing a rather messy algorithm in each WM. What do people think about specifying x/y/width/height instead of a list of monitor indices?

About your proposal, I think you should let each window manager decide
what to do with transient windows, though I'd expect most will do what
you suggested.

Sure. As Havoc suggested, I'll suggest the center-on-cursor's-monitor functionality, but not require it.

Also, I don't see any reason the property should be
written by the window manager and communicated through client
messages. The client can add the hint to its own window with fewer
context switches.

Lots of discussion over this issue. I'm pretty indifferent. The simple hint is easier to implement, and is the way I did things in preliminary patches for a few WMs. I see the advantages of the message/property setup, where the WM can refuse to cooperate, set the property itself, have defaults, etc. On the other hand, clients can indeed check for WM compliance by examining their geometry.

While I'm all for allowing WMs to reject FULLSCREEN_MONITORS requests, I really hope such cases are rare. The way we got here in the first place was WMs' reluctance to place windows over panels and other functionality designed to save the client window from itself. If FULLSCREEN_MONITORS doesn't work in reasonable circumstances, it'll be no better than the current hack we have to implement multi- monitor full screen.

  Mark



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