Application Scaling

Some applications are picky about screen resolution; they may have hard-coded fonts, or images that they don't bother to scale.

To work around these, I think we can use the Composite extension to help out. What I want to do is have a window property which is the 'client visible' geometry for the window. The window would be composited, and the window pixmap would be of the client-visible size. Updates to the window would cause a composite redraw operation which would scale the window pixmap to the server-visible geometry within the parent. This would affect the window and all descendents.

For input, crossing the boundary would cause the pointer location to be transformed between the server-visible and client-visible sizes.