cat wrote:
If I understand the proposal correctly this shouldn't be a problem. If the application becomes unresponsive the server has the ability to manage it (move, resize, raise, lower, possibly hide/show, and an option to kill it) and it knows if it didn't respond to events.

I do think that there is one thing it should also have, when a client is going to appear/move/resize, it should send a request to the server with a tag, a nospace string to identify the request, the new location, and new dimentions. the server responds with a message that has the same tag, and a yes or no response (possibly a hint as to why it was rejected), and if the resonce is no then the client should not preform that particular operation. this at its basics can prevent applications from accidentally moving off screen, covering some more important window(like a taskbar), or from acting as a floating window in a tiling environment, and allows the server the freedom to do something more advanced.

You may be right. Instead of what I proposed where a client sends messages indicating it *did* something, it can instead send messages that indicate it *wants* to do something. All actions would happen after the compositor sends messages to the client, and they would all still be performed by the client so they can be atomic.

If a client on it's own decided it wanted to resize, this is what should happen:

 1. It would send a resize-request message to the compositor.

2. The compositor would adjust the size to what it requires. It would then send the adjusted resize-request back to the client

3. The client could then further adjust the resize-request but it should not move sides of the window where the 'edge' flag is set. This allows it to obey any internal rules about a grid or aspect ratio. It then resizes the window and draws the resized contents and decorations.

Any resizes generated by the compositor (either due to the client telling the compositor to do resize/drag tracking, or due to a popup menu or Alt+click override or tiling adjustments) would cause the compositor to send a resize-request to the client, identical to step 2 above.
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to