>> I can alt-click a window to move it in Xfree even if the application is blocking and I happen to click on a portion of the window that the application itself is responsible for drawing. Right?
>Right: that's server-side decoration.
No, that's window management. Decoration is just drawing borders around the window rectangle. in Wayland you still have a window manager, it's the compositor. The compositor does move windows around, hide or display them. It can do other things like distort them or map them to the sides of a spinning cube.
> a- client side decoration: the windows will be always displayed consistently even when resizing, but the animation may become jerky/unresponsive when resizing or moving if applications are slow to answer.
> b- server side decoration/management: moving or resizing windows will be animated smoothly but the content of a window when resizing can be "ugly" (incoherent) if the application doesn't answer fast enough.
As I said, the compositor can distort windows, so nothing prevents it from doing resizing the smooth and ugly way if needed. This will mean that, usually, applications will simple resize nice and smoothly, but if for some reason an application cannot resize fast enough, a good compositor can interpolate frames and keep the resizing smooth. It's the best of both worlds.
And again, this has nothing to do with decorations, but with window management. Currently the X11 window manager does both, but in Wayland those tasks are split between the application and the compositor.
Posted Apr 16, 2012 15:00 UTC (Mon) by renox (subscriber, #23785)
[Link]
>>> I can alt-click a window to move it in Xfree even if the application is blocking and I happen to click on a portion of the window that the application itself is responsible for drawing. Right?
>>Right: that's server-side decoration.
> No, that's window management.
In current systems server-side decoration imply server side window management, so I'd say you're nitpicking, but yes that's server side window management.
> [cut] a good compositor can interpolate frames and keep the resizing smooth
Not sure this would be so good: the client already took "too long" to answer and then the animation between both frames would add also some delay..
LFCS 2012: X and Wayland
Posted Apr 16, 2012 17:11 UTC (Mon) by Fats (subscriber, #14882)
[Link]
> No, that's window management. Decoration is just drawing borders around the window rectangle. in Wayland you still have a window manager, it's the compositor. The compositor does move windows around, hide or display them. It can do other things like distort them or map them to the sides of a spinning cube.
I don't understand it. How does the compositor know that it has to move or minimize a window if the client is responsible for the window drag bar and the minimization widgets ?
LFCS 2012: X and Wayland
Posted Apr 16, 2012 17:39 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)
[Link]
Easy. Add an 'override mode' to the compositor.
If a window doesn't respond to messages in (say) 2 seconds then the compositor can draw overlay on it with largish "Minimize" and "Force Close" buttons. Additionally, you can add keyboard/mouse shortcuts for that (for example, this overlay can be brought up by triple clicking on a window, etc).
LFCS 2012: X and Wayland
Posted Apr 17, 2012 8:07 UTC (Tue) by renox (subscriber, #23785)
[Link]
>If a window doesn't respond to messages
And to a specific "ping message" I think as it should be possible for a window to ignore some events.
> then the compositor can draw overlay on it with largish "Minimize" and "Force Close" buttons.
"Force Close" OK but I'm not so sure about minimizing/hiding: I thought that this part was handled by the clients.
LFCS 2012: X and Wayland
Posted Apr 17, 2012 8:21 UTC (Tue) by Cyberax (✭ supporter ✭, #52523)
[Link]
>And to a specific "ping message" I think as it should be possible for a window to ignore some events.
Yup. Patches to add 'ping event' and shading of inactive windows have just been posted today: http://www.phoronix.com/scan.php?page=news_item&px=MT...
>"Force Close" OK but I'm not so sure about minimizing/hiding: I thought that this part was handled by the clients.
Compositor can hide/minimize windows forcibly (and restore them back if unresponsive application recovers). I.e. it might look like:
1) A window grays out.
2) "Force Close" and "Hide" buttons appear
3) You press "Hide" button and window disappears.
4) An icon in the system notification area appears notifying you that there are unresponsive applications. You can right-click on it and bring up a list of forcibly closed apps, with possibility to unhide or kill them.
5) If application recovers, then the user can be notified by flashing icon on the notification area.
Something like this.
LFCS 2012: X and Wayland
Posted Apr 17, 2012 17:21 UTC (Tue) by Fats (subscriber, #14882)
[Link]
> Easy. Add an 'override mode' to the compositor.
So is this in the Wayland architecture ?
LFCS 2012: X and Wayland
Posted Apr 17, 2012 18:14 UTC (Tue) by Cyberax (✭ supporter ✭, #52523)
[Link]
It's not yet implemented (the very basic 'fading of inactive clients' was pushed yesterday) but it's certainly within the Wayland architecture and perfectly doable.
LFCS 2012: X and Wayland
Posted Apr 17, 2012 19:07 UTC (Tue) by Fats (subscriber, #14882)
[Link]
OK, now still add per-client network transparancy (not per-desktop) optionally with NX-style reconnectability and then I may consider Wayland as an option.
LFCS 2012: X and Wayland
Posted Apr 17, 2012 19:16 UTC (Tue) by Cyberax (✭ supporter ✭, #52523)
[Link]
It's certainly possible. As I understand, something like xpra for Wayland is in the works.