Hacker News new | comments | show | ask | jobs | submit login

Leaving aside the implementation difficulty, the answer to "what should the scaling be" seems obvious? Use the monitor scaling for the part shown on that monitor. The switch should happen on a monitor level, not on a window level.

The painting happens on window level, that's why it handled there. Application paints the window whenever it receives event "paint me" for it and it cannot paint different portions of a window at different DPI - from the applications POV, it is a single canvas. Another thing is, that the window resize and dpi change are separate events, so you cannot really call it twice in a row with different DPI and expect the app not getting confused.

Another approach would be to let the application render at higher DPI and the compositor would downsample the portion on the lower DPI display.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact