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

Simple Window Switcher is broken on Windows 11 24H2 #3765

Open
andrewz1986 opened this issue Oct 4, 2024 · 11 comments
Open

Simple Window Switcher is broken on Windows 11 24H2 #3765

andrewz1986 opened this issue Oct 4, 2024 · 11 comments

Comments

@andrewz1986
Copy link

andrewz1986 commented Oct 4, 2024

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 andrewz1986 changed the title Simple Window Switcher is slower on Windows 11 24H2 Simple Window Switcher is broken on Windows 11 24H2 Oct 4, 2024
@pyrates999
Copy link

is it this? #3720

If so, please close this.

@andrewz1986
Copy link
Author

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.

@0xF5F5F5
Copy link

0xF5F5F5 commented Oct 10, 2024

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.

@kjellerstedt
Copy link

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

@Amrsatrio
Copy link
Collaborator

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

@kjellerstedt
Copy link

Any updates on this?

@Amrsatrio
Copy link
Collaborator

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

@Alexey-Ivanensky
Copy link

+1

@03juan
Copy link

03juan commented Dec 17, 2024

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.
Screen.Recording.2024-12-17.085028.mp4
  • 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 ]].

🤷

@musaAmir
Copy link

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.

@Hyperi0n1337
Copy link

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

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

No branches or pull requests

9 participants