On Wed Aug 19 11:00:24 2026 +0000, Andrea Faulds wrote:
Hmm, do you mean that the virtual monitor should have the work area rect adjusted at creation time? I don't think that works because the work area is meant to be a dynamic property. But I might be misunderstanding what you mean. If you mean that this change should be made specific to the virtual monitor only: that would be reasonable, though one subtle aspect of the current patch is that it also attempts to preserve the ability to override the reported work area when _not_ in virtual desktop mode. I assume some app relies on that, otherwise WINE wouldn't have implemented it, though I must admit I don't know what it's useful for. It can be set at creation time but it can also be set later, we should support display device changes and that should already be synchronized across processes. One process can request a change, then calling `NtUserCallNoParam( NtUserCallNoParam_DisplayModeChanged )` should trigger a display devices refresh (which should take the change into account when recreating the virtual desktop monitor).
That could also work for non virtual desktop mode, by overriding each monitor rcWork when they are enumerated, although I'm not completely sure this is a good idea. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11699#note_149241