From c90149af6a8aeedf7f8e1322117316305044c2cb Mon Sep 17 00:00:00 2001 From: Anixx Date: Mon, 8 Dec 2025 19:39:38 +0200 Subject: [PATCH 1/2] Patch for unthemed taskbar See this discussion: https://github.com/Open-Shell/Open-Shell-Menu/discussions/2367 --- Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp b/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp index 9f26f2284..ed06da215 100644 --- a/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp +++ b/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp @@ -1872,6 +1872,7 @@ static LRESULT CALLBACK SubclassTaskBarProc( HWND hWnd, UINT uMsg, WPARAM wParam ComputeTaskbarColors(data); WINCOMPATTRDATA attrData={0x13,&data,sizeof(data)}; SetWindowCompositionAttribute(hWnd,&attrData); + if(!IsAppThemed()) {UpdateTaskBars(TASKBAR_UPDATE_TEXTURE)}; return res; } if ((uMsg==WM_DWMCOLORIZATIONCOLORCHANGED || uMsg==WM_SETTINGCHANGE) && taskBar && taskBar->bCustomLook && SetWindowCompositionAttribute && GetWinVersion()WIN_VER_WIN7) - { - color=GetSystemGlassColor8(); - color=((color&0xFF)<<16)|(color&0xFF00)|((color>>16)&0xFF); - } + color=GetSysColor(COLOR_BTNFACE); BITMAPINFO bi={0}; bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); bi.bmiHeader.biWidth=bi.bmiHeader.biHeight=32; @@ -3012,7 +3009,10 @@ static void InitStartMenuDLL( void ) if (GetWinVersion()<=WIN_VER_WIN81) g_DrawThemeBackgroundHook=SetIatHook(module,"uxtheme.dll","DrawThemeBackground",DrawThemeBackground2); g_DrawThemeTextHook=SetIatHook(module,"uxtheme.dll","DrawThemeText",DrawThemeText2); - g_DrawThemeTextExHook=SetIatHook(module,"uxtheme.dll","DrawThemeTextEx",DrawThemeTextEx2); + if (IsAppThemed()) + { + g_DrawThemeTextExHook=SetIatHook(module,"uxtheme.dll","DrawThemeTextEx",DrawThemeTextEx2); + } g_DrawThemeTextCtlHook=SetIatHook(GetModuleHandle(L"comctl32.dll"),"uxtheme.dll","DrawThemeText",DrawThemeText2); if (GetWinVersion()>=WIN_VER_WIN10) g_SetWindowCompositionAttributeHook=SetIatHook(module,"user32.dll","SetWindowCompositionAttribute",SetWindowCompositionAttribute2); From 6b3a95d8d3cf08e6918087f6e685e6f76c1c6a99 Mon Sep 17 00:00:00 2001 From: Anixx Date: Mon, 8 Dec 2025 20:02:42 +0200 Subject: [PATCH 2/2] Fix syntax error in StartMenuDLL.cpp --- Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp b/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp index ed06da215..ea1779bcb 100644 --- a/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp +++ b/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp @@ -1872,7 +1872,7 @@ static LRESULT CALLBACK SubclassTaskBarProc( HWND hWnd, UINT uMsg, WPARAM wParam ComputeTaskbarColors(data); WINCOMPATTRDATA attrData={0x13,&data,sizeof(data)}; SetWindowCompositionAttribute(hWnd,&attrData); - if(!IsAppThemed()) {UpdateTaskBars(TASKBAR_UPDATE_TEXTURE)}; + if(!IsAppThemed()) {UpdateTaskBars(TASKBAR_UPDATE_TEXTURE);} return res; } if ((uMsg==WM_DWMCOLORIZATIONCOLORCHANGED || uMsg==WM_SETTINGCHANGE) && taskBar && taskBar->bCustomLook && SetWindowCompositionAttribute && GetWinVersion()