xdg shell status and gaps

Bill Spitzak spitzak at gmail.com
Thu Sep 25 14:58:57 PDT 2014

On 09/25/2014 01:57 PM, Jasper St. Pierre wrote:

> https://github.com/magcius/weston/commit/c1e5a846f4f57400bca1262111f9793e451c5b49

That patch has nothing to do with what is needed.

You don't need a "modal window type". This is trivial for a client to do 
by just pretending that whatever keystrokes it gets go to the "modal" 
window even if the compositor sends them to a different window.

What is needed is a non-flickering and atomic method of creating that 
modal window atop the main one and keeping it there. That requires a 
parent, not a "modal" flag. (well actually it does not require a parent 
if instead there was a way to atomically map and rearrange a set of 
surfaces, but I think the parent will be much easier and matches what 
programmers are familiar with).

I suppose it may be useful for the compositor to know what window is 
actually responding to keystrokes, so it can highlight it. However this 
should be done by the client sending a request to move the keyboard 
focus (ignored if the client does not already have focus). Relying on 
flags and window types to get this correct is really difficult and makes 
it impossible to introduce new window behaviors (for instance surfaces 
that are not modal all the time).

More information about the wayland-devel mailing list