mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-03-20 16:43:57 +01:00
This commit adds cloaking as a window-hiding-behaviour option. https://devblogs.microsoft.com/oldnewthing/20200302-00/?p=103507 for more information on cloaking. Cloaking is the same mechanism used by the native Virtual Desktops feature by the Windows team, however it is deliberately hidden from the public Windows API. GitHub user Ciantic's VirtualDesktopAccessor crate documents the private IApplicationView COM interface which contains the hidden and undocumented SetCloak method, which can be used to cloak and uncloak application windows by their HWNDs. With some help from Ciantic and manual exploration to determine the correct flags values to use, komorebi is now able to use the cloaking mechanism when switching workspaces, which results in significantly higher reliability and significantly less jank on workspace transitions. komorebi's use of this cloaking mechanism also retains the flexibility of per-monitor workspaces that users have come to know and enjoy. This has only been tested on Windows 11, it is not yet known if calling the SetCloak function in IApplicationWindow will cause crashes on Windows 10.