Skip to content

Commit

Permalink
deploy: 17e0c80
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Dec 13, 2024
1 parent fcca14d commit 822a30e
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 34 deletions.
4 changes: 2 additions & 2 deletions catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -2888,7 +2888,7 @@
"published": 1661149953000,
"rating": 10,
"ratingUsers": 158,
"updated": 1733320729000,
"updated": 1734048553000,
"users": 10725
},
"featured": true,
Expand All @@ -2906,7 +2906,7 @@
],
"name": "Taskbar Labels for Windows 11",
"twitter": "https://twitter.com/m417z",
"version": "1.3.3"
"version": "1.3.4"
}
},
"taskbar-language-indicator-layout-control": {
Expand Down
6 changes: 6 additions & 0 deletions changelogs/taskbar-labels.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## 1.3.4 ([Dec 13, 2024](https://github.com/ramensoftware/windhawk-mods/blob/17e0c80c827a71f9a6a66079eaaae4dd289fecf9/mods/taskbar-labels.wh.cpp))

* Fixed thumbnail labels incorrectly showing or not showing when using some modes.
* Added an option to always show thumbnail labels. By default, thumbnail labels are shown on hover only if taskbar labels are hidden, but that might not be applied for all customizations that this mod offers.
* Fixed restoring labels on mod unload.

## 1.3.3 ([Dec 4, 2024](https://github.com/ramensoftware/windhawk-mods/blob/b0179b2e31ee74e302077bfb2de1b7cdfc6092d7/mods/taskbar-labels.wh.cpp))

* The "Minimum taskbar item width" option can now be set to any value. Only 44 or larger values were previously supported.
Expand Down
78 changes: 60 additions & 18 deletions mods/taskbar-labels.wh.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// @id taskbar-labels
// @name Taskbar Labels for Windows 11
// @description Customize text labels and combining for running programs on the taskbar (Windows 11 only)
// @version 1.3.3
// @version 1.3.4
// @author m417z
// @github https://github.com/m417z
// @twitter https://twitter.com/m417z
Expand Down Expand Up @@ -135,6 +135,12 @@ Labels can also be shown or hidden per-program in the settings.
$name: Left and right padding size
- spaceBetweenIconAndLabel: 8
$name: Space between icon and label
- alwaysShowThumbnailLabels: false
$name: Always show thumbnail labels
$description: >-
By default, thumbnail labels are shown on hover only if taskbar labels are
hidden, but that might not be applied for all customizations that this mod
offers
- labelForSingleItem: "%name%"
$name: Label for a single item
$description: >-
Expand Down Expand Up @@ -212,6 +218,7 @@ struct {
int fontSize;
int leftAndRightPaddingSize;
int spaceBetweenIconAndLabel;
bool alwaysShowThumbnailLabels;
string_setting_unique_ptr labelForSingleItem;
string_setting_unique_ptr labelForMultipleItems;
} g_settings;
Expand Down Expand Up @@ -378,8 +385,6 @@ void RecalculateLabels() {
g_applyingSettings = false;
}

void* TaskbarSettings_GroupingMode_Original;

using TaskListButton_get_IsRunning_t = HRESULT(WINAPI*)(void* pThis,
bool* running);
TaskListButton_get_IsRunning_t TaskListButton_get_IsRunning_Original;
Expand Down Expand Up @@ -1390,6 +1395,36 @@ void WINAPI TaskListButton_Icon_Hook(void* pThis, LONG_PTR randomAccessStream) {
}
}

using TaskbarSettings_GroupingMode_t = DWORD(WINAPI*)(void* pThis);
TaskbarSettings_GroupingMode_t TaskbarSettings_GroupingMode_Original;
DWORD WINAPI TaskbarSettings_GroupingMode_Hook(void* pThis) {
Wh_Log(L">");

DWORD ret = TaskbarSettings_GroupingMode_Original(pThis);

if (!g_unloading) {
// 0 - Always
// 1 - When taskbar is full
// 2 - Never
if (g_settings.mode == Mode::noLabelsWithCombining ||
g_settings.mode == Mode::labelsWithCombining) {
ret = 0;
} else if (ret == 0) {
ret = 2;
}
}

if (g_overrideGroupingMode) {
if (ret == 0) {
ret = 2;
} else {
ret = 0;
}
}

return ret;
}

using ITaskbarButton_get_MinScalableWidth_t = HRESULT(WINAPI*)(void* pThis,
float* minWidth);
ITaskbarButton_get_MinScalableWidth_t
Expand Down Expand Up @@ -1619,15 +1654,20 @@ LONG WINAPI RegGetValueW_Hook(HKEY hkey,
*pcbData == sizeof(DWORD)) {
Wh_Log(L">");

DWORD taskbarGlomLevel = (ret = ERROR_SUCCESS) ? *(DWORD*)pvData : 0;
DWORD taskbarGlomLevel = (ret == ERROR_SUCCESS) ? *(DWORD*)pvData : 0;
DWORD taskbarGlomLevelOriginal = taskbarGlomLevel;

if (!g_unloading) {
// 0 - Always
// 1 - When taskbar is full
// 2 - Never
if (g_settings.mode == Mode::noLabelsWithCombining ||
g_settings.mode == Mode::labelsWithCombining) {
// This value is used by native code for thumbnail titles and maybe
// other things. The value for WinUI code is overridden in
// TaskbarSettings_GroupingMode_Hook.
//
// 0 - Always (show thumb titles)
// 1 - When taskbar is full (hide thumb titles, adaptive)
// 2 - Never (hide thumb titles, adaptive)
if (g_settings.alwaysShowThumbnailLabels ||
g_settings.mode == Mode::noLabelsWithCombining ||
g_settings.mode == Mode::noLabelsWithoutCombining) {
taskbarGlomLevel = 0;
} else if (taskbarGlomLevel == 0) {
taskbarGlomLevel = 2;
Expand Down Expand Up @@ -1756,6 +1796,8 @@ void LoadSettings() {
Wh_GetIntSetting(L"leftAndRightPaddingSize");
g_settings.spaceBetweenIconAndLabel =
Wh_GetIntSetting(L"spaceBetweenIconAndLabel");
g_settings.alwaysShowThumbnailLabels =
Wh_GetIntSetting(L"alwaysShowThumbnailLabels");
g_settings.labelForSingleItem.reset(
Wh_GetStringSetting(L"labelForSingleItem"));
g_settings.labelForMultipleItems.reset(
Expand Down Expand Up @@ -2176,15 +2218,6 @@ bool HookTaskbarViewDllSymbols(HMODULE module) {
// Taskbar.View.dll, ExplorerExtensions.dll
SYMBOL_HOOK symbolHooks[] = //
{
{
{
LR"(public: __cdecl winrt::impl::consume_WindowsUdk_UI_Shell_ITaskbarSettings5<struct winrt::WindowsUdk::UI::Shell::TaskbarSettings>::GroupingMode(void)const )",
LR"(public: __cdecl winrt::impl::consume_WindowsUdk_UI_Shell_ITaskbarSettings5<struct winrt::WindowsUdk::UI::Shell::TaskbarSettings>::GroupingMode(void)const __ptr64)",
},
(void**)&TaskbarSettings_GroupingMode_Original,
nullptr,
true,
},
{
{
LR"(public: virtual int __cdecl winrt::impl::produce<struct winrt::Taskbar::implementation::TaskListButton,struct winrt::Taskbar::ITaskListButton>::get_IsRunning(bool *))",
Expand Down Expand Up @@ -2232,6 +2265,15 @@ bool HookTaskbarViewDllSymbols(HMODULE module) {
(void**)&TaskListButton_Icon_Original,
(void*)TaskListButton_Icon_Hook,
},
{
{
LR"(public: __cdecl winrt::impl::consume_WindowsUdk_UI_Shell_ITaskbarSettings5<struct winrt::WindowsUdk::UI::Shell::TaskbarSettings>::GroupingMode(void)const )",
LR"(public: __cdecl winrt::impl::consume_WindowsUdk_UI_Shell_ITaskbarSettings5<struct winrt::WindowsUdk::UI::Shell::TaskbarSettings>::GroupingMode(void)const __ptr64)",
},
(void**)&TaskbarSettings_GroupingMode_Original,
(void*)TaskbarSettings_GroupingMode_Hook,
true,
},
{
{
LR"(public: virtual int __cdecl winrt::impl::produce<struct winrt::Taskbar::implementation::TaskListButton,struct winrt::Taskbar::ITaskbarButton>::get_MinScalableWidth(float *))",
Expand Down
30 changes: 16 additions & 14 deletions updates.atom
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,27 @@
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://windhawk.net/</id>
<title>Windhawk Mod Updates</title>
<updated>2024-12-11T15:06:53.000Z</updated>
<updated>2024-12-13T00:09:13.000Z</updated>
<generator>https://github.com/jpmonette/feed</generator>
<link rel="alternate" href="https://windhawk.net/"/>
<subtitle>Updates in the official collection of Windhawk mods</subtitle>
<icon>https://windhawk.net/favicon.ico</icon>
<rights>Ramen Software</rights>
<entry>
<title type="html"><![CDATA[Taskbar Labels for Windows 11 1.3.4]]></title>
<id>https://windhawk.net/mods/taskbar-labels#17e0c80c827a71f9a6a66079eaaae4dd289fecf9</id>
<link href="https://windhawk.net/mods/taskbar-labels"/>
<updated>2024-12-13T00:09:13.000Z</updated>
<content type="html"><![CDATA[<ul>
<li>Fixed thumbnail labels incorrectly showing or not showing when using some modes.</li>
<li>Added an option to always show thumbnail labels. By default, thumbnail labels are shown on hover only if taskbar labels are hidden, but that might not be applied for all customizations that this mod offers.</li>
<li>Fixed restoring labels on mod unload.</li>
</ul>]]></content>
<author>
<name>m417z</name>
<uri>https://github.com/m417z</uri>
</author>
</entry>
<entry>
<title type="html"><![CDATA[CTRL+SHIFT+C quotes remover 1.0]]></title>
<id>https://windhawk.net/mods/remove-quotes-from-ctrl-shift-c#03e48ec11ead99e4fff7a66162d13dcd90dca4b7</id>
Expand Down Expand Up @@ -300,17 +315,4 @@ center, etc. to another monitor.</p>
<uri>https://github.com/m417z</uri>
</author>
</entry>
<entry>
<title type="html"><![CDATA[Custom Desktop Watermark 1.0.2]]></title>
<id>https://windhawk.net/mods/custom-desktop-watermark#3205ff7547c8429f0d5b7141231a8733c18d123d</id>
<link href="https://windhawk.net/mods/custom-desktop-watermark"/>
<updated>2024-11-16T00:41:37.000Z</updated>
<content type="html"><![CDATA[<ul>
<li>Fix resource leak</li>
</ul>]]></content>
<author>
<name>aubymori</name>
<uri>https://github.com/aubymori</uri>
</author>
</entry>
</feed>

0 comments on commit 822a30e

Please sign in to comment.