Skip to content
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

ep_taskbar does not resize properly after DPI changes caused by monitor changes #3796

Open
MickeyM007 opened this issue Oct 13, 2024 · 13 comments

Comments

@MickeyM007
Copy link

After the 24H2 update Microsoft changed the monitor settings it seems. And I think they're not happy with EP ;).
Usually when I am not behind my PC I turn off the monitor, the PC is still on to perform tasks, for example video editing etc. When the monitor is turned on again, Windows thinks it is a 'new' monitor and rearranges windows and window sizes.

I found out what was the cause: Windows added registry strings and keys thinking it's a new monitor. I deleted some and changed others. The problem was solved.

EP works fine so far. Two small things:
I use taskbar style Windows10 (ExplorerPatcher), with the latest ep_taskbar5. The issue does not happen with taskbar style Windows 11.

  • When the monitor is turned off and on again while the PC is on, the taskbar partially disappears from the screen. The taskbar is halved. (When I check it with console in EP I see that there is a repositioning)
    Normal taskbar:
2024-10-13_17-50-23 After monitor off: 2024-10-13_17-50-06
  • Sometimes Explorer restarts and all windows close. Maybe to reset the taskbar?!
2024-10-13_17-05-18

Thank you team EP! And the always great support!

@Ha7yad
Copy link

Ha7yad commented Oct 13, 2024

Hello @MickeyM007, I am Ha7yad who help's people with problems on Explorer Patcher. Can you please give me the Windows Version? You can do this by running Winver. Also, can I see your EP version?

@Amrsatrio
Copy link
Collaborator

Amrsatrio commented Oct 13, 2024

This is my MOST annoying bug with ep_taskbar. It's at the top of my list of bugs for this one. I tried fixing it, but no luck. Eventually gave up but I might revisit this again. It was due to something not sending my taskbar an additional "0x5B8" message compared to the stock 10 taskbar. That something might be a piece of hack in Microsoft's code which is no longer needed in the 11 taskbar. I'll let you know once I have a solution to this bug.

Workaround being locking/unlocking the taskbar each time this happens to resize it.

@Ha7yad No need winver and all -- happens on ALL versions. 22H2 in my case.

@Ha7yad
Copy link

Ha7yad commented Oct 13, 2024

Ok

@MickeyM007
Copy link
Author

Okay thanks! Clicking once: 'lock the taskbar' every time it happens works fine for me, it indeed resizes!
It has never happened before and I have been using EP for years. I always got new problems with major Windows updates.

FYI: I am using ExplorerPatcher v22621.3880.66.6. Windows 11 pro 24h2 26100.2033 (it is all in the log. I thought it was enough, sorry)
Thanks again!!

@Amrsatrio
Copy link
Collaborator

Amrsatrio commented Oct 13, 2024

Of course it never happened before because you just started using the reimplemented taskbar today... I've been using it daily since January of this year and it's been annoying me especially when connecting/disconnecting my high DPI displays as well as connecting/disconnecting from RDP.

@Amrsatrio Amrsatrio changed the title Taskbar resize after monitor turned off and on again ep_taskbar does not resize properly after DPI changes caused by monitor changes Oct 13, 2024
@MickeyM007
Copy link
Author

Indeed and understandable! Although the workaround works well enough for me, don't worry too much. It's much better than having to restart Explorer every time.
By default I had the Windows 10 taskbar. I've been using the re-implemented taskbar since the update a few days ago. I reinstalled ExplorerPatcher before asking the question here.

What makes the EP Windows 10 taskbar work without resizing? (I saw Windows 10 taskbar stop working with 24H2)

@1kartafal4
Copy link

1kartafal4 commented Oct 14, 2024

After the 24H2 update Microsoft changed the monitor settings it seems. And I think they're not happy with EP ;).
Usually when I am not behind my PC I turn off the monitor, the PC is still on to perform tasks, for example video editing etc. > When the monitor is turned on again, Windows thinks it is a 'new' monitor and rearranges windows and window sizes.

I have the exact same problem and it annoys me very much! Can you elaborate how to fix this please?
Display is a modern Samsung TV over hdmi 2.1, 4K-UHD (3840x2160) native resolution. Everything worked fine with 23H2, but not anymore since 24H2.

Is this behaviour now due to Win 24H2 or due to explorer patcher and it's settings?
I don't have the taskbar problem though (it's locked "Lock the Taskbar")

The same issue was described here but the given solution is nonsene/useless. https://linustechtips.com/topic/1558370-windows-11-changes-window-sizes-after-screen-turns-off/
I've searched most of the the web (including those microsoft online help forums) but haven't found a proper solution/answer.

I now had 6 programs (browser, exploer) open and after turning the TV on again, the sizes and shape are all over the place.
The music player program (which was ~ 30 % size in the background) decided to switch to 100 % full screen on top of everything. The two separate browser windows were exactly split 50-50 % (one left side, other right side), but turning on again, they all shrunk down to 10 % window size in the left corner.

@1kartafal4
Copy link

@MickeyM007
Did you change/deleted some entries here?
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\ScaleFactors
uuc

My display is the "SAM7346" seen in the entries and in CRU, but there are also other entries as "MSBDD_NOEDID", "MSNILNOEDID", "SIMULATED" etc. I don't know where those come from.
CRU only shows these two EDIDs from my Samsung TV (SAM7346); one for normal mode and other for gaming mode.

Everything works fine with the display etc.
I've read online that one should try to delete every entry in "Configuration, Connectivity, ScaleFactors"?
Thanks in advance!

@MickeyM007
Copy link
Author

MickeyM007 commented Oct 14, 2024

@1kartafal4 Sure! Here’s what I did to fix it:

-Check device manager. View-> show hidden devices.
-Under monitor: removed everything. Rebooted
-Then I re-installed the drivers for my monitor.
-In Settings -> System -> Display -> Multiple displays -> Unchecked 'minimise windows when monitor is disconnected' .

-Deleted the marked items in the registry:
376250448-527814a8-1e71-4e46-8e45-652b57539999
(For me there was only one monitor under "MonitorDataStore": the monitor I have.)
-Reboot
-After the PC has completely restarted -> turn off the monitor, waited 15 sec. -> turn it back on.
-In the registry, go to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\SIMULATED_10DE_.......\00
-Change PrimSurfSize.cx and PrimSurfSize.cy to your monitor resolution.
(so for me it's Decimal: PrimSurfSize.cx (3840), PrimSurfSize.cy (2160).
-Restart and it was solved

Hope this helps!

@1kartafal4
Copy link

1kartafal4 commented Oct 15, 2024

@MickeyM007
Awesome; thanks a lot!
Can't believe the issue came with 24H2, and on the whole web not a single solution but yours.

Did everything you wrote in the correct same order and now all prolems solved.
No matter the amount of windows and sizes, after turning the display on again, everything is restored correctly.
The "PrimSurfSize" (there are two "00" folders with both formats/values) were hexadecimal, so "f00" and "870" in my case.
They were 1024x768 resolution before.

Additionally I also deleted the three registry entries in "MonitorDataStore" - this worked in my favor.
So all 4 entries deleted before the 1st OS reboot.
iugib
The TV (S95C QD-Oled) hard-stores (no manual change possible. Samsung does this for their TVs, but for example LG not; some entries on LG TVs can be changed with CRU under Windows OS) every information in the two EDID files (one for normal mode (cinema) and one gaming-mode), after restart of the OS, everthing was restranfered correctly again to the Nvidia graphics driver and OS.
It's now 2 entries in each category (2 EDID correctly).

This also solved another problem I had since Win 24H2: I set the OS-scaling to 150 % (due to high-resolution), but not everything was resized and displayed correctly.
A lot of programs, icon, even Windows own (even those in the start menu), were not scaled properly; most were blurry and not sharp.
But now everything is sharp again!

Thanks!

@MickeyM007
Copy link
Author

MickeyM007 commented Oct 15, 2024

@1kartafal4 Awesome, You're welcome!

Checked the registry and saw an extra "00" subkey under "configuration -> 'my monitor' and 'simulated_10DE_.....' (same as the screenshot above).
I copied all the keys and subkeys from my monitor to 'simulated' except the timestamp value (this value changes every time the monitor is turned on and off), everything is identical between 'my monitor' and 'simulated'....

@Amrsatrio Windows Update installed a "Windows Configuration Update (KB5035942)" on my PC yesterday.
Sometimes when the PC is running for 30-45 minutes with the monitor on, if I turn my monitor off and back on, the screen sometimes flickers (has never happened before), but then the taskbar adjusts correctly. and it keeps that way. Even if I keep turning the monitor off and on until I reboot the PC.
If I turn my monitor off and back on before the 30 minutes, the taskbar adjusts incorrectly.

Oh, I had the Windows stopwatch running to test the time, if the screen flickers once after the monitor is turned back on, the clock app freezes completely, unless I click on it in the taskbar (to minimize), it unfreezes. The rest of the PC is still active. The taskbar is adjusted right.

The strange thing is that this doesn't always happen. Sometimes it takes longer, sometimes it doesn't resolve itself at all.
Now I can't reproduce it... I don't get it. But I thought I'd let you know. There is something going on with 24H2 for me.

@Sinbios
Copy link

Sinbios commented Oct 17, 2024

I have a similar issue. I have two monitors, but prefer to have my primary task bar with the system tray and clock on my non-primary display, as well as resized to two bars high.

I switch my primary display between my work and personal computers frequently, and whenever I do this, the primary task bar resets to one bar high located on the primary display, instead of two bars high on the secondary display as I configured it.

Is it possible to associate taskbar location/size configurations to specific monitor configurations, so that whenever the display layout changes, EP looks up known previous taskbar configurations and reapplies it?

@Amrsatrio
Copy link
Collaborator

Amrsatrio commented Oct 19, 2024

@Sinbios Please try the prerelease version 66.7 and see if it has your problem mitigated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants