Responding to screen changes on Linux

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Responding to screen changes on Linux

Steven Kelly
It looks like VW doesn't respond to screen changes on Linux. In 7.7.1 on
Ubuntu 12.04, increasing the resolution then opening a menu from a point
outside the old resolution gives an error, nil DNU: #insetBy:, since
*MenuView>>openFromView: sends (theScreen boundsAround: cursorPoint)
insetBy:, and #boundsAround: can't find a Screen subregion containing
the cursor and so returns nil. (I guess all senders of boundsAround:
should check for nil, but that's a separate question.)

Even manually sending "Screen default installBoundingBox" doesn't help,
since the getScreenDimensions primitive returns the old information.

I guess VW would need to call [X]RandR's [X]RRSelectInput and register
for the [X]RRScreenChangeNotify messages, and probably also
ConfigureNotify for cases where [X]RandR isn't available (although that
doesn't fire if the overall screen size stays the same but the
subregions change, e.g. when swapping left and right monitors).

Does anyone have code that does this already?

Cheers,
Steve

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc