When I tried out v1.4.0, it cycles windows in the original order. There is a COM error which is repeated thrice every time I let go of Alt when I am switching windows with the shortcut. I have a branch threaded-mru where I have worked around it by calling GetProcessUniqueId from another thread rather than from the KeyboardHook. This seems to work, but I'm not sure if it's the right way to do it.
14:32:03:800 Exception thrown at 0x00007FFD5203B699 (KernelBase.dll) in AltBacktick.exe: 0x8001010D: An outgoing call cannot be made since the application is dispatching an input-synchronous call.
14:32:03:800 shell\twinapi\virtualdesktops\lib\virtualdesktops.cpp(45)\twinapi.dll!00007FFD133F5157: (caller: 00007FFD133F55DD) ReturnHr(35) tid(4db4) 8001010D An outgoing call cannot be made since the application is dispatching an input-synchronous call.
14:32:03:800 shell\twinapi\virtualdesktops\lib\virtualdesktops.cpp(60)\twinapi.dll!00007FFD133F55FC: (caller: 00007FF645BAC6FA) ReturnHr(36) tid(4db4) 8001010D An outgoing call cannot be made since the application is dispatching an input-synchronous call.
I suspect the commit which breaks it might be the following (24c111a) because the error message mentions virtual desktops.
commit 24c111aa8242279989aae789e8ca56e425b27691
Author: AkiVer <ys.renaud@gmail.com>
Date: Sun Sep 22 16:01:54 2024 +0200
fix: use current desktop id in mru index name to filter only on current desktop windows
Reverting the commit makes it cycle like the alt-tab order, but this probably breaks cycling between windows on the current desktop only.
Windows 10 version 22H2 (OS Build 19045.4894)
AltBacktick version: v1.4.0
FancyWM is installed and so is PowerToys.
Backtrace of the input-sync error:
AltBacktick.exe!WindowFinder::GetCurrentDesktopId() Line 43
at D:\Linux_home\nathan\src\AltBacktick\WindowFinder.cpp(43)
AltBacktick.exe!WindowFinder::GetProcessUniqueId(HWND__ * windowHandle) Line 60
at D:\Linux_home\nathan\src\AltBacktick\WindowFinder.cpp(60)
AltBacktick.exe!KeyboardHook(int nCode, unsigned __int64 wParam, __int64 lParam) Line 49
at D:\Linux_home\nathan\src\AltBacktick\AltBacktick.cpp(49)
[External Code]
AltBacktick.exe!StartBackgroundApp() Line 92
at D:\Linux_home\nathan\src\AltBacktick\AltBacktick.cpp(92)
AltBacktick.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpCmdLine, int nCmdShow) Line 184
at D:\Linux_home\nathan\src\AltBacktick\AltBacktick.cpp(184)
[External Code]
When I tried out v1.4.0, it cycles windows in the original order. There is a COM error which is repeated thrice every time I let go of Alt when I am switching windows with the shortcut. I have a branch threaded-mru where I have worked around it by calling GetProcessUniqueId from another thread rather than from the KeyboardHook. This seems to work, but I'm not sure if it's the right way to do it.
I suspect the commit which breaks it might be the following (24c111a) because the error message mentions virtual desktops.
Reverting the commit makes it cycle like the alt-tab order, but this probably breaks cycling between windows on the current desktop only.
Windows 10 version 22H2 (OS Build 19045.4894)
AltBacktick version: v1.4.0
FancyWM is installed and so is PowerToys.
Backtrace of the input-sync error: