ExplorerPatcher icon indicating copy to clipboard operation
ExplorerPatcher copied to clipboard

Simple Window Switcher is broken on Windows 11 24H2

Open andrewz1986 opened this issue 1 year ago • 5 comments

I've been using Simple Window Switcher for years and have not noticed any issues. After updating Windows 11 to version 24H2, there is noticeable delay when switching windows, although not dramatic. The delay is not caused by "Show delay" option in the ExplorerPatcher settings.

I also noticed that using Alt + Tab twice in consecution does not bring the original app in the foreground – tab switching is moving forward only. That is a deviation from the way original window switcher works.

Can somebody fix please? Thanks.

andrewz1986 avatar Oct 04 '24 06:10 andrewz1986

is it this? https://github.com/valinet/ExplorerPatcher/issues/3720

If so, please close this.

pyrates999 avatar Oct 04 '24 12:10 pyrates999

No. I'm not talking about Windows Switcher Style: Windows NT. I'm talking about Windows Switcher Style: Simple Window Switcher. That's the one that allows detailed settings in ExplorerPatcher regarding its UI and behavior. Thanks.

andrewz1986 avatar Oct 04 '24 13:10 andrewz1986

I'm having the same issue :(

Windows 11 24H2 (26100.2033)

Have to use the original window switcher (Windows 11) for now. I miss Alt + Tilde!

EDIT: Actually my problem is a bit different, the only deviation is that it seems to select the last window visible in the window switcher. Oh and this bug stopped happening again! I'm not sure what causes it. But it occurred enough times for me to stop using Simple Window Switcher.

0xF5F5F5 avatar Oct 10 '24 01:10 0xF5F5F5

Same issue here, for me the Simple Window Switcher does not even show up or register any alt-tab:ing. Windows 11 24H2

kjellerstedt avatar Oct 10 '24 18:10 kjellerstedt

I will check why it is stuck in an infinite loop this week. RIght now on 24H2 bug fixing spree.

Amrsatrio avatar Oct 10 '24 22:10 Amrsatrio

Any updates on this?

kjellerstedt avatar Nov 03 '24 12:11 kjellerstedt

Not yet, apparently I had other stuff to do and backlogged this one... I'll let you know once I've figured this out.

Amrsatrio avatar Nov 03 '24 12:11 Amrsatrio

+1

Alexey-Ivanensky avatar Nov 27 '24 03:11 Alexey-Ivanensky

I'm also running into this issue after recently updating to 24H2, 26100.2605.

I didn't uninstall before the update, so got some error about ExplorerPatcher after login but was able to export my current settings, which had SWS selected with "Show the desktop as last window" off, as well as "Enable symbols download" on.

After reinstalling I restored my settings and noticed the mentioned bug where the last item is selected instead of the first.

I enabled the "Show desktop" setting, restarted explorer, and the switcher didn't display at all but the CPU usage instantly went up.

I restored to default settings and here are the console logs showing the various bugs with repro steps.

Default logs with Windows 11 (default) switcher:

  • Pressing Alt+Tab produces no extra logs.
Running on Windows 11, OS Build 10.0.26100.2605.
Loaded symbols
Setup user32 functions done
CAppResolverCacheBuilder::_AddUserPinnedShortcutToStart() = 4B92C
Setup explorer functions done
Setup uxtheme functions done
ILauncherTipContextMenuVtbl = 6AB890
CLauncherTipContextMenu::ShowLauncherTipContextMenu() = 265FA0
CLauncherTipContextMenu::GetMenuItemsAsync() = 5AE210
Setup twinui.pcshell functions done
Setup combase functions done
Setup twinui functions done
Setup stobject functions done
Setup bthprops functions done
Setup shell32 functions done
Setup windows.storage functions done
Setup inputswitch functions done
Setup peopleband functions done
Installed hooks.
Open Start on monitor thread
EP Service Window thread
Started "Open Start on current monitor" thread.
Initialized taskbar centering module.
Progman: 1444212
Progman hook: 46665383
0 0
[EnsureXAML] 62 ms.
[Updates] Starting daemon.
[Updates] Configured update policy on this system: "Check for updates but let me choose whether to download and install them".
[Updates] Path to module: C:\WINDOWS\dxgi.dll
[Updates] Using hardcoded hash.
[Updates] Checking against hash "22622.4317.67.1.8bfca71add96d3de"
[Updates] Update URL: https://github.com/valinet/ExplorerPatcher/releases/latest/download/ep_setup.exe
[Updates] Hash of remote file is "22622.4317.67.1.8bfca71add96d3de" (valid).
[Updates] Local version obtained from hash is 22622.4317.67.1.
[Updates] No updates are available.

[Bug 1: infinite loop] SWS "Show desktop" enabled

  1. Select SWS.
  2. Immediately, console logs errors.
====================================
An error occured in the application.
Error number: 0x80070581
Description: Hot key is already registered.
Here is the stack trace:
[  0] = [0x00007FF990CE12BC] ::
[  1] = [0x00007FF990CE1622] ::
[  2] = [0x00007FF990CE9FFA] :: sws_WindowSwitcher_Initialize:
[  3] = [0x00007FF990CF6A50] :: explorer_SetChildWindowNoActivateHook:
[  4] = [0x00007FF99B58E8D7] :: BaseThreadInitThunk:
[  5] = [0x00007FF99C39FBCC] :: RtlUserThreadStart:
====================================
====================================
An error occured in the application.
Error number: 0x80070581
Description: Hot key is already registered.
Here is the stack trace:
[  0] = [0x00007FF990CE12BC] ::
[  1] = [0x00007FF990CE1622] ::
[  2] = [0x00007FF990CF6A57] :: explorer_SetChildWindowNoActivateHook:
[  3] = [0x00007FF99B58E8D7] :: BaseThreadInitThunk:
[  4] = [0x00007FF99C39FBCC] :: RtlUserThreadStart:
====================================
  1. Confirm "Show desktop" is selected by default and restart File Explorer.
  2. Only real difference in console startup log is, I assume, new pids.
...
- Progman: 1444212
- Progman hook: 46665383
+ Progman: 1575238
+ Progman hook: 47648233
...
  1. Hold down Alt and press Tab. See console enter into infinite loop. No tab switcher is shown while Alt held down.
[sws] WindowSwitcher::Show 0 [[ 48 + 0 + 0 + 16 = 64 ]]
[sws] CalculateHelper 0 [[ 3 + 0 = 3 ]].
[sws] CalculateHelper 0 [[ 2 + 0 = 2 ]].
[sws] CalculateHelper 0 [[ 3 + 1 = 4 ]].
[sws] CalculateHelper 0 [[ 2 + 0 = 2 ]].
[sws] CalculateHelper 0 [[ 5 + 0 = 5 ]].
[sws] CalculateHelper 0 [[ 2 + 0 = 2 ]].
[sws] CalculateHelper 0 [[ 4 + 0 = 4 ]].
[sws] CalculateHelper 0 [[ 2 + 1 = 3 ]].
[sws] CalculateHelper 0 [[ 2 + 1 = 3 ]].
[sws] CalculateHelper 0 [[ 1 + 1 = 2 ]].
[sws] CalculateHelper 0 [[ 2 + 0 = 2 ]].
[sws] CalculateHelper 0 [[ 4 + 0 = 4 ]].
... etc. forever, poor little CalculateHelper, it's only trying to help :( ...
  1. Release Alt and press Ctrl+C to kill and restart.

[Bug 2: always starts with last panel selected] "Show desktop" disabled

  1. Disable "Show desktop".
  2. Console logs.
[sws] Refreshing theme: 0
  1. Restart File Explorer.
  2. Significant console startup log diff.
Progman hook: 6491561
0 0
[EnsureXAML] 63 ms.
+ [sws] Refreshing theme: 0
+ [sws] Refreshing theme: 0
[Updates] Starting daemon.
  1. Hold down Alt and tap Tab.
[sws] WindowSwitcher::Show 0 [[ 29 + 0 + 0 + 16 = 45 ]]
[sws] CalculateHelper 0 [[ 0 + 2 = 2 ]].
[sws] Delayed showing by 108 ms due to: user configuration.
  1. Quickly release Alt.
[sws] Chosen window: Properties
[sws] Last active popup: Properties
[sws] Owner of window: Properties
  1. Repeating multiple times as per screen cap, every press shows different numbers for WindowSwitcher::Show and CalculateHelper, but the same window name for Delayed, Chosen, Last active.

https://github.com/user-attachments/assets/62fad2b9-0a04-4277-aa03-da108f75917d

  • As intended?

Extra test. Only 2 full-screen windows open, with "Show desktop" disabled

  • Control for number and size of window panels.
  1. Full-screened the console and the browser in one desktop with no other windows open.
  2. Press and release Alt+Tab 10 times to switch from one to the other.
  3. Console logs, snipping the non-calculation lines.
[sws] WindowSwitcher::Show 0 [[ 21 + 0 + 0 + 14 = 35 ]]
[sws] CalculateHelper 0 [[ 1 + 0 = 1 ]].

[sws] WindowSwitcher::Show 0 [[ 23 + 0 + 0 + 12 = 35 ]]
[sws] CalculateHelper 0 [[ 0 + 1 = 1 ]].

[sws] WindowSwitcher::Show 0 [[ 38 + 0 + 0 + 13 = 51 ]]
[sws] CalculateHelper 0 [[ 0 + 1 = 1 ]].

[sws] WindowSwitcher::Show 0 [[ 36 + 0 + 0 + 12 = 48 ]]
[sws] CalculateHelper 0 [[ 0 + 1 = 1 ]].

[sws] WindowSwitcher::Show 0 [[ 28 + 0 + 0 + 10 = 38 ]]
[sws] CalculateHelper 0 [[ 1 + 1 = 2 ]].

[sws] WindowSwitcher::Show 0 [[ 22 + 0 + 0 + 12 = 34 ]]
[sws] CalculateHelper 0 [[ 0 + 1 = 1 ]].

[sws] WindowSwitcher::Show 0 [[ 19 + 0 + 0 + 11 = 30 ]]
[sws] CalculateHelper 0 [[ 0 + 1 = 1 ]].

[sws] WindowSwitcher::Show 0 [[ 29 + 0 + 0 + 11 = 40 ]]
[sws] CalculateHelper 0 [[ 0 + 1 = 1 ]].

[sws] WindowSwitcher::Show 0 [[ 39 + 0 + 0 + 12 = 51 ]]
[sws] CalculateHelper 0 [[ 0 + 1 = 1 ]].

[sws] WindowSwitcher::Show 0 [[ 36 + 0 + 0 + 12 = 48 ]]
[sws] CalculateHelper 0 [[ 0 + 1 = 1 ]].

🤷

03juan avatar Dec 17 '24 06:12 03juan

I am still experiencing this issue with the Simple Window Swither after updating to 24H2 a while back. Alt tab doesn't work properly.

Whenever I alt + tab it selects the last window in the list instead of the default which is the second item (last opened window). Also, messing with the settings seem to break the entire Window Switcher till it doesn't function at all and a PC restart is required.

musaAmir avatar Dec 23 '24 00:12 musaAmir

Just wanted to report that I also have this issue with the Simple Windows Switcher. Regular Alt + Tab works fine, its alt + tilde for cycling through the windows of a specific program where the first item to be selected is the last one from the group (check the screenshot to see what I mean, this is what's selected once alt tilde is pressed once) image

Hyperi0n1337 avatar Jan 01 '25 23:01 Hyperi0n1337

I am still experiencing this issue with the Simple Window Swither after updating to 24H2 a while back. Alt tab doesn't work properly.

Whenever I alt + tab it selects the last window in the list instead of the default which is the second item (last opened window). Also, messing with the settings seem to break the entire Window Switcher till it doesn't function at all and a PC restart is required.

Experiencing the very same after upgrading to 24H2

Demitrix2k avatar Feb 11 '25 15:02 Demitrix2k

Seems like this is the placeholder for all of the different misbehaviors of SWS in 24H2? If so, I found another duplicate while searching for the behavior I was seeing: #3626 describes the "Alt-Tab moves to last item instead of next item" behavior Along with that, I also saw that turning on "show the desktop as the last window in the interaction list" completely disables Alt-Tab function until the setting is turned off again and File Explorer is restarted

ETA: I just noticed that while for some applications (e.g. Chrome and Emacs) Alt-backtick behaves correctly (starts me at the second/next item), for others (e.g. Firefox, Windows Explorer, and Command Prompt) it has the same "start at the end of the list" behavior as Alt-Tab does. I don't know what the underlying differences are between the two categories of application, but thought it might be useful to note, in case it helps troubleshooting.

philipp avatar Feb 21 '25 09:02 philipp

I also noticed the slowness suddenly on a new Win 11 installation with the newest Update integrated (26100.3476) It wasn't there with a slightly older update version, somewhere in the 2xxx range, I can check if it's of interest. Both use Explorer Patcher 22621.4317.67.1 and same settings and same software all around even the same versions of the software.

What I noticed was interesting, if you happen to install Explorer Patcher the first time and switch the Window Switcher the first time to "Simple Window Switcher" and press Alt+Tab the first time, it's fast amazingly so, but all consecutive times it takes about 800ms+ to open.

black-ish avatar Mar 24 '25 21:03 black-ish

The fix for SWS not showing when you have chosen the wallpaper to be visible in the list is coming in the next release.

Microsoft reorganized the window tree for the desktop, previously (23H2 on older) it used to be two separate top-level WorkerW windows for the desktop icons and the wallpaper each. Now both of them are now under the Progman window, no longer top-level windows. This is also why on 24H2 the desktop icons are visible behind the task view and full screen start menu.

Allow me some time to write the changelog for 68.1 which could get quite big, thanks 🙏

Amrsatrio avatar Mar 29 '25 21:03 Amrsatrio

Special thanks to @WinExperiments for giving me hints on what changed in 24H2 ❤️

Amrsatrio avatar Mar 29 '25 21:03 Amrsatrio

I too am experiencing teh problum with Simple Window Switcher. Fortunately, mine is where it just doesn't do anything. NT Switcher and all the others work fine.

oneofmanyacdcfanstoo avatar Apr 21 '25 02:04 oneofmanyacdcfanstoo

I too am experiencing teh problum with Simple Window Switcher. Fortunately, mine is where it just doesn't do anything. NT Switcher and all the others work fine.

Same here, it will not appear. Other window switchers work.

0xF5F5F5 avatar Apr 22 '25 17:04 0xF5F5F5

Fixed in 68.2.

Amrsatrio avatar May 21 '25 21:05 Amrsatrio

Thanks for releasing new version of EP and taking care of Simple Window Switcher. Unfortunately, it does not work as good as it did before 24H2. I'm specifically talking about briefly pressing Alt+Tab to switch two windows back and forth. Important note: I have this keyboard combo assigned to my mouse via Logitech Options and exclusively switch windows by tilting mouse scrolling wheel to the left. That makes the Alt+Tab action input even more brief.

First thing is that there is still certain lag in comparison with default Windows 11 window switcher. But the worse thing is that switching windows does not work in like 30 percent of cases. These fails may be result of the lag mentioned above, since regularly pressing Alt+Tab on my keyboard works mostly well (since I have to physically press two keys, the action input is not as brief).

Please check my video. Everytime the on-screen keyboard shows that Alt was pressed, I was actually tilting my mouse scrolling wheel. https://www.youtube.com/watch?v=eeLwiqDCc38

P.S.: Calling the feature "Custom Window Switcher" or "Advanced Window Switcher" would fit much better than "Simple Window Switcher" in my opinion.

andrewz1986 avatar May 22 '25 11:05 andrewz1986

Try changing Show Delay to a lower value in ms. It is set to 150 ms in your video.

pyrates999 avatar May 22 '25 15:05 pyrates999

Try changing Show Delay to a lower value in ms. It is set to 150 ms in your video.

Show delay relates to window switching UI (Alt+Tab menu). My issue has nothing to do with that. I am talking about reliability and swiftness of two windows switching back and forth.

andrewz1986 avatar May 22 '25 15:05 andrewz1986

I'd like to add here that for me nothing changed in regards to sws with the newest update. There is still a fat delay for it to show. Only output in debug window:

[sws] WindowSwitcher::Show 10148 [[ 927 + 0 + 0 + 2 = 929 ]]
[sws] CalculateHelper 0 [[ 2 + 2 = 4 ]].

My delay is set to none in settings.

black-ish avatar May 22 '25 15:05 black-ish

I'm not sure what happened, whether Microsoft made some update to Windows 11 (I have build 26100.4484), or some symbols were downloaded to Explorer Patcher, but Simple Windows Switcher now seems to work very well again. Hopefully it will stay like that. Thanks. These are my settings.

Image

andrewz1986 avatar Jul 08 '25 10:07 andrewz1986

[sws] WindowSwitcher::Show 10148 [[ 927 + 0 + 0 + 2 = 929 ]] [sws] CalculateHelper 0 [[ 2 + 2 = 4 ]].

same for me, update didnt fix delay for alt `

am1re avatar Aug 18 '25 11:08 am1re