Quote Originally Posted by nerdopolis View Post
I think the main fear with server side decorations is it requires more inter process communication, as the server side decoration would have to be sized up against the window as it's being resized, the server would have to resize the decoration surface as well. Not only would this increase IPC,

And don't quote me on this, but I would also think that it would require the application to tell the server more about its surface, such as the window is resizable, or closable, so that the server (or separate decoration program, however it's implemented), so that it would know not to draw a close button on the decoration, or maximize button, or make the borders not re sizable.



This being said, there would have to be a protocol to tell applications not to draw their titlebars for kwin to do this...
I also think there are issues with syncing window changes, in general. IIRC, Owen Taylor wrote about this on his blog and was saying that that was one of the reasons why you can't drag a window around without there being some lag. I have to admit I don't understand why this is the case b/c it seems like the lag problem would of one of syncing cursor/input and drawing to vblank (i.e. compositor related, though I'm not sure what handles the cursor (maybe X itself thus you'd need to have X comunicate the position at a monotonic that is different than what the compositor is using for the scene?)). The other issue, as you touched on I believe, is that there is a texture separation between window contents and border (you know that gap tha between contents and border you get when doing wobbly windows?).
Anyway, I really see this as a TK issue.