in some situations the xserver randr driver doesn't refresh edid's on
its own. it should, but doesn't. for example - optmus setups. this
seems to fix it. works around that.
@fix
As we can detect for double scan (since randr 1.2), list the mode
as valid, and also ensure the refresh rate is displayed correctly.
Each line is rendered twice, doubles the dot clock, so divide the
settings view by 2 so that it makes "sense". Can always add
flags to settings if deemed necessary.
on reconfigure if we find the pointer outside the screen region bounds
it can get caught there until a warp forces it in. this is due to the
barriers i added i think. this fixes that
@fix
this removes the per desktop profile config and replaces it with a
per-screen one that is tied to a specific display so it is far more
logical than per desktop. this allows e to set up different scaling
per screen for apps that use elementary for example via this derived
profile.
this of course is slightly problematic for e itself since it now uses
elm - as this will cause e to go kind-of-crazy with differing profiles
as it fights with itself and elm if 2 screens have different profiles.
this requires elm to be fixed to allow custom profiles per window.
this also currently won't switch profile of a window when you
reconfigure screens.
@feature
xx
this fixes a bizarrre issue that valgrind reported that has the
strings we malloc and fill somehow being freed by xlib. totally didn't
make sense. either way, a workaround here is to strdup them
immediately and free the tmp copy and oddly the bug doesn't happen.
this is very odd.
@fix