From b6b42e69c36aa52b6f2c110a7534613207e45d03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Sat, 28 Feb 2026 10:37:03 +0800 Subject: [PATCH] DisplayServer (Windows): reduce system dependencies --- CMakeLists.txt | 1 - src/detection/displayserver/displayserver_windows.c | 9 +++++---- 2 files changed, 5 insertions(+), 5 deletions(-) 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");