Having said that, if the window manager could realise that a client has frozen or is otherwise misbehaving, it could steal back responsibility for the window borders and let the user resize the window...
Posted May 5, 2010 18:47 UTC (Wed) by oak (subscriber, #2786)
[Link]
> if the window manager could realise that a client has frozen or is otherwise misbehaving
Normal window managers do this by pinging the applications (see _NET_WM_PING message in EWMH spec) when user clicks to the close button. Or by counting how many times user clicks the same close button in close succession.
The freezing detection needs to be tied to some user action where it's reasonable to check the app. Just polling them all the time would ruin battery life.
Without any visible controls with which user could interact with the application that's quite hard though. Using keyboard shortcut (e.g. Windows key) for popping up a menu for window actions would work, but this would be hard to discover for normal users. Another possibility is doing this kind of freeze detection just when switching back to the application (focusing it, clicking on its icon in panel etc).
The good point about application doing the resizing controls and window frames is that this it gets rid of of the synchronization issue between window manager and application screen updates. When OpenGL HW acceleration is used, it additionally gets rid of interleaved GL commands which can be (at least a performance) problem for some low end GFX chips.