diff --git a/CMakeLists.txt b/CMakeLists.txt index f395efea7..88f77fcd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1715,7 +1715,6 @@ elseif(APPLE) ) elseif(WIN32) target_link_libraries(libfastfetch - PRIVATE "dwmapi" PRIVATE "gdi32" PRIVATE "iphlpapi" PRIVATE "ole32" diff --git a/src/detection/displayserver/displayserver_windows.c b/src/detection/displayserver/displayserver_windows.c index b18e502db..05afbe266 100644 --- a/src/detection/displayserver/displayserver_windows.c +++ b/src/detection/displayserver/displayserver_windows.c @@ -2,10 +2,12 @@ #include "common/windows/unicode.h" #include "common/edidHelper.h" -#include -#include +#include #include +// http://undoc.airesoft.co.uk/user32.dll/IsThreadDesktopComposited.php +BOOL WINAPI IsThreadDesktopComposited(); + typedef struct FFMonitorInfo { HMONITOR handle; @@ -253,8 +255,7 @@ static void detectDisplays(FFDisplayServerResult* ds) void ffConnectDisplayServerImpl(FFDisplayServerResult* ds) { - BOOL enabled; - if(SUCCEEDED(DwmIsCompositionEnabled(&enabled)) && enabled) + if (IsThreadDesktopComposited()) { ffStrbufSetStatic(&ds->wmProcessName, "dwm.exe"); ffStrbufSetStatic(&ds->wmPrettyName, "Desktop Window Manager");