diff --git a/catalog.json b/catalog.json index 5f9631336..84b6dabf0 100644 --- a/catalog.json +++ b/catalog.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/da.json b/catalogs/da.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/da.json +++ b/catalogs/da.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/de.json b/catalogs/de.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/de.json +++ b/catalogs/de.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/el.json b/catalogs/el.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/el.json +++ b/catalogs/el.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/en.json b/catalogs/en.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/en.json +++ b/catalogs/en.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/es.json b/catalogs/es.json index a986bcac7..0433a4aff 100644 --- a/catalogs/es.json +++ b/catalogs/es.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/fr.json b/catalogs/fr.json index 299e77604..1cf9e3bea 100644 --- a/catalogs/fr.json +++ b/catalogs/fr.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/hu.json b/catalogs/hu.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/hu.json +++ b/catalogs/hu.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/id.json b/catalogs/id.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/id.json +++ b/catalogs/id.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/it.json b/catalogs/it.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/it.json +++ b/catalogs/it.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/ja.json b/catalogs/ja.json index f061548e7..58d911bbd 100644 --- a/catalogs/ja.json +++ b/catalogs/ja.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/ko.json b/catalogs/ko.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/ko.json +++ b/catalogs/ko.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/nl.json b/catalogs/nl.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/nl.json +++ b/catalogs/nl.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/pl.json b/catalogs/pl.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/pl.json +++ b/catalogs/pl.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/pt-BR.json b/catalogs/pt-BR.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/pt-BR.json +++ b/catalogs/pt-BR.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/ro.json b/catalogs/ro.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/ro.json +++ b/catalogs/ro.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/ru.json b/catalogs/ru.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/ru.json +++ b/catalogs/ru.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/sv-SE.json b/catalogs/sv-SE.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/sv-SE.json +++ b/catalogs/sv-SE.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/tr.json b/catalogs/tr.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/tr.json +++ b/catalogs/tr.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/uk.json b/catalogs/uk.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/uk.json +++ b/catalogs/uk.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/vi.json b/catalogs/vi.json index 5f9631336..84b6dabf0 100644 --- a/catalogs/vi.json +++ b/catalogs/vi.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/zh-CN.json b/catalogs/zh-CN.json index 4cb11a788..64c4bcf39 100644 --- a/catalogs/zh-CN.json +++ b/catalogs/zh-CN.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/catalogs/zh-TW.json b/catalogs/zh-TW.json index 4cb11a788..64c4bcf39 100644 --- a/catalogs/zh-TW.json +++ b/catalogs/zh-TW.json @@ -624,7 +624,7 @@ "published": 1708239757000, "rating": 10, "ratingUsers": 1, - "updated": 1723930010000, + "updated": 1737801083000, "users": 129 }, "metadata": { @@ -636,7 +636,7 @@ "explorer.exe" ], "name": "Classic Taskbar 3D buttons Lite", - "version": "1.3" + "version": "1.3.1" } }, "classic-taskbar-buttons-lite-vs-without-spacing": { diff --git a/changelogs/classic-taskbar-buttons-lite.md b/changelogs/classic-taskbar-buttons-lite.md index 3c4547368..bbab13b73 100644 --- a/changelogs/classic-taskbar-buttons-lite.md +++ b/changelogs/classic-taskbar-buttons-lite.md @@ -1,3 +1,7 @@ +## 1.3.1 ([Jan 25, 2025](https://github.com/ramensoftware/windhawk-mods/blob/ed55e57ef882efd1249d4b31fff051db6dca5be0/mods/classic-taskbar-buttons-lite.wh.cpp)) + +Warning on progress bar + ## 1.3 ([Aug 17, 2024](https://github.com/ramensoftware/windhawk-mods/blob/566fb1cf966ef3c85ad460480db6b338a5434bfa/mods/classic-taskbar-buttons-lite.wh.cpp)) Fix for artefacts diff --git a/mods/classic-taskbar-buttons-lite.wh.cpp b/mods/classic-taskbar-buttons-lite.wh.cpp index b3c285c69..696c636c2 100644 --- a/mods/classic-taskbar-buttons-lite.wh.cpp +++ b/mods/classic-taskbar-buttons-lite.wh.cpp @@ -2,7 +2,7 @@ // @id classic-taskbar-buttons-lite // @name Classic Taskbar 3D buttons Lite // @description Lightweight mod, restoring the 3D buttons in classic theme -// @version 1.3 +// @version 1.3.1 // @author Anixx // @github https://github.com/Anixx // @include explorer.exe @@ -23,6 +23,8 @@ The idea is based on the mod by Aubymori (https://github.com/aubymori). ![After](https://i.imgur.com/Jz4EkRQ.png) +Be warned that the progress indicator will not be displayed on the task buttons in the 3D mode, so if you need the progress bar, don't apply this mod. + */ // ==/WindhawkModReadme== diff --git a/mods/classic-taskbar-buttons-lite/1.3.1.wh.cpp b/mods/classic-taskbar-buttons-lite/1.3.1.wh.cpp new file mode 100644 index 000000000..696c636c2 --- /dev/null +++ b/mods/classic-taskbar-buttons-lite/1.3.1.wh.cpp @@ -0,0 +1,145 @@ +// ==WindhawkMod== +// @id classic-taskbar-buttons-lite +// @name Classic Taskbar 3D buttons Lite +// @description Lightweight mod, restoring the 3D buttons in classic theme +// @version 1.3.1 +// @author Anixx +// @github https://github.com/Anixx +// @include explorer.exe +// @compilerOptions -lgdi32 +// ==/WindhawkMod== + +// ==WindhawkModReadme== +/* +# Classic Taskbar 3D buttons +Lightweight mod which restores 3D buttons on taskbar when using Windows Classic theme. +The idea is based on the mod by Aubymori (https://github.com/aubymori). + +Before: + +![Before](https://i.imgur.com/jupSjfl.png) + +After: + +![After](https://i.imgur.com/Jz4EkRQ.png) + +Be warned that the progress indicator will not be displayed on the task buttons in the 3D mode, so if you need the progress bar, don't apply this mod. + +*/ +// ==/WindhawkModReadme== + +#include + +#ifdef _WIN64 +#define CALCON __cdecl +#define SCALCON L"__cdecl" +#else +#define CALCON __thiscall +#define SCALCON L"__thiscall" +#endif + +typedef struct tagBUTTONRENDERINFOSTATES { + char data[12]; +} BUTTONRENDERINFOSTATES, *PBUTTONRENDERINFOSTATES; + +/* Draw taskbar item */ +typedef void (* CTaskBtnGroup__DrawBar_t)(void *, HDC, void *, void *); +CTaskBtnGroup__DrawBar_t CTaskBtnGroup__DrawBar_orig; +void CALCON CTaskBtnGroup__DrawBar_hook( + void *pThis, + HDC hDC, + void *pRenderInfo, + PBUTTONRENDERINFOSTATES pRenderStates +) +{ + LPRECT lprcDest = (LPRECT)((char *)pRenderInfo + 4); + + UINT uState = DFCS_BUTTONPUSH; + if (pRenderStates->data[2]) + { + uState |= DFCS_CHECKED; + } + else if (pRenderStates->data[4]) + { + uState |= DFCS_PUSHED; + } + + DrawFrameControl( + hDC, + lprcDest, + DFC_BUTTON, + uState + ); + + + /* If button is pushed in, offset the rect for the icon and text draw */ + if (pRenderStates->data[2] + || pRenderStates->data[4]) + { + lprcDest->top++; + lprcDest->bottom++; + lprcDest->left++; + lprcDest->right++; + } + + return; +} + + +/* Add spacing between taskbar items */ +typedef long (* CTaskBtnGroup_SetLocation_t)(void *, int, int, LPRECT); +CTaskBtnGroup_SetLocation_t CTaskBtnGroup_SetLocation_orig; +long __cdecl CTaskBtnGroup_SetLocation_hook( + void *pThis, + int i1, + int i2, + LPRECT lprc +) +{ + APPBARDATA abd; + abd.cbSize = sizeof(APPBARDATA); + if (SHAppBarMessage(ABM_GETTASKBARPOS, &abd)) + { + if (abd.uEdge == ABE_BOTTOM || abd.uEdge == ABE_TOP) + { + lprc->right -= 2; + } + } + + return CTaskBtnGroup_SetLocation_orig(pThis, i1, i2, lprc); +} + +BOOL Wh_ModInit(void) +{ + HMODULE hExplorer = GetModuleHandleW(NULL); + + WindhawkUtils::SYMBOL_HOOK explorerExeHooks[] = { + { + { + L"private: void " + SCALCON + L" CTaskBtnGroup::_DrawBar(struct HDC__ *,struct BUTTONRENDERINFO const &,struct BUTTONRENDERINFOSTATES const &)" + }, + (void **)&CTaskBtnGroup__DrawBar_orig, + (void *)CTaskBtnGroup__DrawBar_hook, + FALSE + }, + { + { + L"public: virtual long __cdecl CTaskBtnGroup::SetLocation(int,int,struct tagRECT const *)" + }, + (void **)&CTaskBtnGroup_SetLocation_orig, + (void*)CTaskBtnGroup_SetLocation_hook, + FALSE + } + + }; + + if (!WindhawkUtils::HookSymbols(hExplorer, explorerExeHooks, ARRAYSIZE(explorerExeHooks))) + { + Wh_Log(L"Failed to hook one or more functions"); + return FALSE; + } + + return TRUE; +} diff --git a/mods/classic-taskbar-buttons-lite/1.3.1_32.dll b/mods/classic-taskbar-buttons-lite/1.3.1_32.dll new file mode 100644 index 000000000..0b2884ff8 Binary files /dev/null and b/mods/classic-taskbar-buttons-lite/1.3.1_32.dll differ diff --git a/mods/classic-taskbar-buttons-lite/1.3.1_64.dll b/mods/classic-taskbar-buttons-lite/1.3.1_64.dll new file mode 100644 index 000000000..7ad2ec7a3 Binary files /dev/null and b/mods/classic-taskbar-buttons-lite/1.3.1_64.dll differ diff --git a/mods/classic-taskbar-buttons-lite/versions.json b/mods/classic-taskbar-buttons-lite/versions.json index 5c75036c6..08b13da46 100644 --- a/mods/classic-taskbar-buttons-lite/versions.json +++ b/mods/classic-taskbar-buttons-lite/versions.json @@ -1 +1 @@ -[{"version":"1.2","timestamp":1708239757},{"version":"1.3","timestamp":1723930010}] \ No newline at end of file +[{"version":"1.2","timestamp":1708239757},{"version":"1.3","timestamp":1723930010},{"version":"1.3.1","timestamp":1737801083}] \ No newline at end of file diff --git a/updates.atom b/updates.atom index 32a94771c..9458c9a51 100644 --- a/updates.atom +++ b/updates.atom @@ -2,12 +2,23 @@ https://windhawk.net/ Windhawk Mod Updates - 2025-01-23T18:37:11.000Z + 2025-01-25T10:31:23.000Z https://github.com/jpmonette/feed Updates in the official collection of Windhawk mods https://windhawk.net/favicon.ico Ramen Software + + <![CDATA[Classic Taskbar 3D buttons Lite 1.3.1]]> + https://windhawk.net/mods/classic-taskbar-buttons-lite#ed55e57ef882efd1249d4b31fff051db6dca5be0 + + 2025-01-25T10:31:23.000Z + Warning on progress bar

]]>
+ + Anixx + https://github.com/Anixx + +
<![CDATA[Alt+Tab window delayer 1.0.0]]> https://windhawk.net/mods/alt-tab-delayer#0f7a4f6134f786bcf5f8f8b133d1446d9e325c6d @@ -285,17 +296,4 @@ This will make the icon not show up on your desktop anymore. Enjoy!

]]>https://github.com/Ingan121
- - <![CDATA[Better file sizes in Explorer details 1.4.7]]> - https://windhawk.net/mods/explorer-details-better-file-sizes#28f831fb2eb390551fac6fa88ca6bf6c590fac01 - - 2024-12-18T14:13:18.000Z - -
  • "Everything" integration for folder sizes: Added support for folder junctions.
  • -]]>
    - - m417z - https://github.com/m417z - -
    \ No newline at end of file