-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Off-by-one (pixel) bug #795
Comments
Which DPI scaling setting are you using on the 4k monitor? |
DPI scaling is set to 175 on the 4k monitor. |
Would you be willing to test a custom build to see if this is caused by what I suspect (incorrect rounding)? If so, do you need a 32bit, 64bit, or ARM64 build? |
Here is a 64-bit build to try: |
It would actually be much more convenient for me if you posted a diff so I could test with that. I apologize for not getting back with you. I did look into the bug last weekend but when I opened the ManagedShell project I realized that I could fix all the little issues that annoyed me. I got distracted and added/removed a bunch of features for myself throughout the entire evening until bedtime. I guess the most notable would be a 250ms delay to the Menu bar. It's nearly impossible to close/minimize a window without opening the menu bar. Took a different approach from how I think you would have implemented it. I added a new "MouseInitiatedAutoHide" property and a SetAutoHideStateFromMouse() setter function called from AppBarWindow_MouseEnter(). Then in the property-changed handler launched an asynchronous function to wait 250 milliseconds and check if the mouse is still located on the screen boundary. Anyway, I'm yammering. Could you put up a diff? |
Here are the ManagedShell changes: cairoshell/ManagedShell@master...metric-rounding Regarding what you mentioned adding a delay to the menu bar: This should already exist in Cairo; there is an "auto-hide show delay" setting in Cairo Settings > Advanced. Or am I misunderstanding the change? |
As of #802, this should now be fixed. |
I was previously using the older Release version. I wanted to use the new auto-hide feature for the menu bar. So I pulled the the latest source and compiled it. After installing it, I noticed that I couldn't seem to open the task bar when it was hidden. Came very close to uninstalling it but I decided to debug a little. I used \Enterprise\Common7\Tools\spyxx.exe to debug the window.
(0, 2081)-(3840, 2159) 3840x78
Note the 2159 pixel offset on the Y axis that correlates to the bottom of the taskbar, I'm using a 4k monitor here on my workstation. That number should be 2160. When I pull my mouse to the bottom of my screen there is a 1 pixel gap and that's what was causing it.
Interestingly only the 4k monitor has this problem. I have three monitors, Large 4k in the middle with two smaller monitors (1920x1080) on left and right. Only the center 4k monitor had this pixel gap.
I fixed it by adding 1 pixel to the getDesiredTopPosition() function. But I'm pretty sure that's not the correct fix. I didn't want to invest anymore time looking into it. If I have more time this weekend I'll investigate further. I am suspecting DPI scaling and the GetAppBarEdgeWindowsHeight function, (I see it uses floats), but don't have time to look into it this week. Maybe this weekend.
Also, the Release version does not have this pixel gap.
Windows 10.0.20348.2402
master@#791
x64
Full Shell replacement
The text was updated successfully, but these errors were encountered: