http://bugs.winehq.org/show_bug.cgi?id=9901
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
--- Comment #4 from Vincent Povirk madewokherd@gmail.com 2008-08-19 12:45:44 --- SystemParametersInfo won't work (yet), but it is the proper way for a program to set this (and it does account for multiple monitors; according to MSDN, SPI_SETWORKAREA should use the rect passed to it to decide which monitor to set).
_NET_WORKAREA does not account for multiple monitors, nor does _NET_WM_STRUT_PARTIAL. EWMH doesn't have monitor-specific work areas or docks. Until that is fixed, the solution is probably to take the intersection of the work area specified in _NET_WORKAREA/_NET_WM_DESKTOP with each monitor's coordinates.
At the moment, SPI_SET/GETWORKAREA is implemented in user32, but GetMonitorInfo is in winex11.drv. We probably need to decide which module is responsible for keeping track of work areas and implement both SPI_SET/GETWORKAREA and GetMonitorInfo in one place.