http://bugs.winehq.org/show_bug.cgi?id=9901
Summary: GetMonitorInfo returns wrong work area Product: Wine Version: CVS/GIT Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-x11driver AssignedTo: wine-bugs@winehq.org ReportedBy: lich@math.spbu.ru
GetMontorInfo always returns rcWork equal to rcMonitor, but it must take panels and taskbars into account.
The only solution I can see is to use SystemParametersInfo(SPI_SETWORKAREA) during initialization time, but I do not know how to deal with different monitors.
P.S. It is needed to properly implement maximum dimensions of console window.
http://bugs.winehq.org/show_bug.cgi?id=9901
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |minor
http://bugs.winehq.org/show_bug.cgi?id=9901
Mikolaj Zalewski mikolaj.zalewski@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikolaj.zalewski@gmail.com
--- Comment #1 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-05 12:07:43 --- This is probably the same as bug #9593. I've found that there is a _NET_WORKAREA property provided the the window managers but the problem is that it doesn't work very well for multi-monitor setups. I've found many places where someone was asking to extend the protocol but I couldn't find any results of these ideas.
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #2 from Austin English austinenglish@gmail.com 2008-04-15 01:27:59 --- Is this still an issue in current (0.9.59 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #3 from Kirill K. Smirnov lich@math.spbu.ru 2008-04-15 05:56:22 --- Created an attachment (id=12202) --> (http://bugs.winehq.org/attachment.cgi?id=12202) Test case to show problem.
Yes it is still an issue.
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.
http://bugs.winehq.org/show_bug.cgi?id=9901
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #5 from Dmitry Timoshkov dmitry@codeweavers.com 2008-10-02 11:47:14 --- Should be fixed now.
http://bugs.winehq.org/show_bug.cgi?id=9901
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified
http://bugs.winehq.org/show_bug.cgi?id=9901
Kirill K. Smirnov lich@math.spbu.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|FIXED |
--- Comment #6 from Kirill K. Smirnov lich@math.spbu.ru 2008-10-03 10:16:55 --- It still does not work correctly: 1) If I move panel around (e.g. make it vertical), GetMonitorInfo returns previous obsolete value. returns: 1280x977 should: 1233x1024 2) For secondaty WM-panel-free monitor GetMonitorInfo() returns rcWork value for primary monitor. returns: 1280x977 should: 1280x1024 3) If I move panel to secondary monitor (thus, primary monitor become WM-panel-less) and ask again, GetMonitorInfo() still returns the same old value (for both monitors). returns: 1280x977 should: 1280x1024
To be sure it is not a WM bugs (I use KDE-3.5.9), is there any way for me to test _NET_WORKAREA property???
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #7 from Dmitry Timoshkov dmitry@codeweavers.com 2008-10-05 01:01:53 --- (In reply to comment #6)
It still does not work correctly:
- If I move panel around (e.g. make it vertical), GetMonitorInfo returns
previous obsolete value. returns: 1280x977 should: 1233x1024
I'm not sure if a WM sends a notification in this case.
- For secondaty WM-panel-free monitor GetMonitorInfo() returns rcWork value
for primary monitor. returns: 1280x977 should: 1280x1024
That's how _NET_WORKAREA is defined, it doesn't work properly for multimonitor configurations.
- If I move panel to secondary monitor (thus, primary monitor become
WM-panel-less) and ask again, GetMonitorInfo() still returns the same old value (for both monitors). returns: 1280x977 should: 1280x1024
That's the same case as #1.
To be sure it is not a WM bugs (I use KDE-3.5.9), is there any way for me to test _NET_WORKAREA property???
Try 'xprop'.
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #8 from Vincent Povirk madewokherd@gmail.com 2008-10-05 08:17:46 --- You automatically get a PropertyNotify event on the root window when it changes.
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #9 from Dmitry Timoshkov dmitry@codeweavers.com 2008-10-06 02:05:08 --- (In reply to comment #8)
You automatically get a PropertyNotify event on the root window when it changes.
If you mean that the root window gets notified, then we won't see a notification.
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #10 from Dmitry Timoshkov dmitry@codeweavers.com 2008-10-06 09:46:59 --- (In reply to comment #9)
If you mean that the root window gets notified, then we won't see a notification.
Testing with xev confirms that we don't receive a notification.
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #11 from Vincent Povirk madewokherd@gmail.com 2008-10-06 10:16:09 --- Well, sure, you have to use XSelectInput to select for PropertyChangeMask events on the root window before you can get the notifications.
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #12 from Austin English austinenglish@gmail.com 2009-04-17 12:06:24 --- Is this still an issue in current (1.1.19 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #13 from Austin English austinenglish@gmail.com 2009-10-29 15:25:13 --- Is this still an issue in current (1.1.32 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #14 from Kirill K. Smirnov lich@math.spbu.ru 2009-10-30 08:38:12 ---
Is this still an issue in current (1.1.32 or newer) wine?
Yes, it is - GetMonitorInfo() still returns obsolete value;
http://bugs.winehq.org/show_bug.cgi?id=9901
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #15 from Vincent Povirk madewokherd@gmail.com 2010-07-16 14:51:03 --- Created an attachment (id=29634) --> (http://bugs.winehq.org/attachment.cgi?id=29634) proof-of-concept patch to watch _NET_WORKAREA for updates
Does this help with the outdated values?
http://bugs.winehq.org/show_bug.cgi?id=9901
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, patch, testcase
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #16 from Austin English austinenglish@gmail.com 2010-07-16 18:49:56 --- Created an attachment (id=29639) --> (http://bugs.winehq.org/attachment.cgi?id=29639) compiled testcase
http://bugs.winehq.org/show_bug.cgi?id=9901
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
--- Comment #17 from Bruno Jesus 00cpxxx@gmail.com 2011-11-13 23:08:25 CST --- I'm not sure on how to test this. In current git I have the following results:
One top panel: bruno@Note:~/Downloads$ wine a.exe 1366x768 1366x743
One top and one bottom panel: bruno@Note:~/Downloads$ wine a.exe 1366x768 1366x718
One top and one left panel: bruno@Note:~/Downloads$ wine a.exe 1366x768 1341x743
As far as I can see the number from the right is the working area and the one from the left is the monitor resolution.
http://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #18 from Vincent Povirk madewokherd@gmail.com 2011-11-13 23:17:39 CST --- To test:
1. Uncheck "Allow the window manager to control the windows" in winecfg. 2. Start notepad. 3. Add or remove a panel. 4. Maximize notepad. It should fill the work area, but in fact it fills what the work area was when notepad was started.
https://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #19 from Austin English austinenglish@gmail.com --- [austin@localhost b]$ wine b.exe.so 1366x768 1366x743
for the notepad test, when I let wine control the window, I lose control of notepad when I alt-tab'ed away.
running cinnamon, fwiw.
https://bugs.winehq.org/show_bug.cgi?id=9901
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #20 from winetest@luukku.com --- Hmm.
wine a.exe 1920x1080 1920x1044
setting virtual desktop 800x600
wine a.exe 800x600 800x600
Same results remoing "Allow the window manager to control the windows" at virtual desktop
Conclusion?
wine 2.0-git.
https://bugs.winehq.org/show_bug.cgi?id=9901
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #21 from joaopa jeremielapuree@yahoo.fr --- Does the bug still occur with current wine(4.0-rc1)?
https://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #22 from Zebediah Figura z.figura12@gmail.com --- (In reply to joaopa from comment #21)
Does the bug still occur with current wine(4.0-rc1)?
You can test this yourself. There's a testcase, even precompiled for you, or you can follow the sequence in comment 18.
https://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #23 from joaopa jeremielapuree@yahoo.fr --- What is a panel?
https://bugs.winehq.org/show_bug.cgi?id=9901
temp82@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |temp82@luukku.com
--- Comment #24 from temp82@luukku.com --- wine a.exe 1920x1080 1920x1053
wine 7.9.
https://bugs.winehq.org/show_bug.cgi?id=9901
--- Comment #25 from temp82@luukku.com --- (In reply to temp82 from comment #24)
wine a.exe 1920x1080 1920x1053
wine 7.9.
actually I already updated into wine 7.10.
https://bugs.winehq.org/show_bug.cgi?id=9901
Alan alan1010035@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alan1010035@gmail.com
--- Comment #26 from Alan alan1010035@gmail.com --- As of Wine 7.15 Test Result : 1920x1080 1920x1053 Test On Windows10 VM : 1920x1080 1920x1040
Same result even with patch applied