fixed HiDPI screensaver compositor bug by using XRandR for physical pixels
closes #890
The compositor was incorrectly marking fullscreen screensaver windows as obscured on HiDPI multi-monitor setups, causing animations to stop on some monitors.
Root cause: GDK's logical pixel geometry (2731x1440) multiplied by scale factor (2) gives 5462x2880, but X11/RandR reports actual physical pixels as 5461x2880. The is_fullscreen() function's exact dimension comparison failed due to this 1-pixel rounding mismatch.
Fix: Added myScreenFindMonitorAtPointPhysical() which queries XRandR directly using XRRGetScreenResources() and XRRGetCrtcInfo() to get exact physical pixel geometry, matching what XGetWindowAttributes() returns. This eliminates the GDK rounding error and ensures proper fullscreen detection in HiDPI configurations.
Co-Authored-By: Claude noreply@anthropic.com