Update Taskbar Count Badges to 1.1.0 - #5250
Conversation
|
Thanks for the pull request! This repository uses a two-stage review: an AI review that you run yourself, followed by a human review. To get started, comment See the pull request review process for the full details. |
|
/ai-review |
Submission reviewNote: This review was done by Claude. Due to the amount of submissions, doing a fully manual review for each pull request is no longer feasible. Thank you for understanding. Remember: The AI reviewer can be wrong - it may misread code, flag correct code as broken, or suggest changes that make things worse. Treat its findings as suggestions to verify, not instructions to follow blindly. You're responsible for the code you submit, so if a finding doesn't hold up, say so instead of changing working code to satisfy it. Please address the following issues. The items in the collapsed sections are optional, so it's your call whether to address them. The new top/bottom positions are a clean addition and the restore paths are wired into every exit ( Suppress
Both go away with a composition-level hide, which is idempotent (no saved state to get poisoned), can't be overridden by XAML's property system, and leaves XAML layout geometry intact so the // hide
ElementCompositionPreview::GetElementVisual(runningIndicator).IsVisible(false);
// restore
ElementCompositionPreview::GetElementVisual(runningIndicator).IsVisible(true);taskbar-blob-shape hides this exact element that way, and documents the precedence reason ("the Optional improvements
Minor polish — none of this affects users, so it's your call.
Functionality notes
Non-critical observations and ideas about the feature behavior itself.
Next steps:
See the review process for details. |
|
/ai-review |
Submission reviewNote: This review was done by Claude. Due to the amount of submissions, doing a fully manual review for each pull request is no longer feasible. Thank you for understanding. Remember: The AI reviewer can be wrong - it may misread code, flag correct code as broken, or suggest changes that make things worse. Treat its findings as suggestions to verify, not instructions to follow blindly. You're responsible for the code you submit, so if a finding doesn't hold up, say so instead of changing working code to satisfy it. Please address the following issues. The items in the collapsed sections are optional, so it's your call whether to address them. The new bottom-dot mode is the interesting part of this update: it's the first thing in the mod that changes a shell-owned element ( 1. A hidden native running indicator can survive the mod being disabled, and nothing heals it. Every restore path ( That's a different class of leftover from a stale badge: badges already have a recovery path (
2. Bottom mode fails closed when
if (bottomDotMode && count > 0 &&
!HideRunningIndicatorForBottomDots(tracked, taskListButton))
{
...
return false; // no dots at all
}Meanwhile It also means Make the two agree: if the indicator can't be found there's nothing to hide, so let the dots draw with the below-the-icon fallback instead of returning false — e.g. have Optional improvements
Minor polish — none of this affects users, so it's your call.
Functionality notes
Non-critical observations and ideas about the feature behavior itself.
Next steps:
See the review process for details. |
|
/ai-review |
Submission reviewNote: This review was done by Claude. Due to the amount of submissions, doing a fully manual review for each pull request is no longer feasible. Thank you for understanding. Remember: The AI reviewer can be wrong - it may misread code, flag correct code as broken, or suggest changes that make things worse. Treat its findings as suggestions to verify, not instructions to follow blindly. You're responsible for the code you submit, so if a finding doesn't hold up, say so instead of changing working code to satisfy it. Please address the following issues. The items in the collapsed sections are optional, so it's your call whether to address them. Two issues around the new bottom-dot mode, both in the 1. The "heal" pass un-hides
if (!bottomDotMode &&
item.lastAppliedCount == std::numeric_limits<unsigned int>::max())
{
if (auto runningIndicator = FindChildByName(element, L"RunningIndicator"))
{
try
{
Hosting::ElementCompositionPreview::GetElementVisual(runningIndicator)
.IsVisible(true);
}
catch (...) {}
}
}Because mod globals don't survive an unload, a fresh instance has no way to know who hid an indicator — so this blindly re-shows any indicator that anything hid via composition visibility. taskbar-blob-shape suppresses Secondly, the comment says "Do this only once per button", but that isn't what the code does. Suggested fix: make the recovery targeted instead of blanket. Record in the mod's own persistent storage that indicators were actually hidden, and only heal when that flag is set: // when a button's indicator is first hidden
Wh_SetIntValue(L"indicatorsHidden", 1);
...
// at the end of a successful CleanupOnTaskbarThread()
Wh_SetIntValue(L"indicatorsHidden", 0);then gate the heal on 2. Bottom dots can get stuck in the fallback position In if (runningIndicator &&
runningIndicator.ActualWidth() > 0 &&
runningIndicator.ActualHeight() > 0)
{ /* anchor to the indicator */ }
else
{
// Fallback for a Windows build where RunningIndicator doesn't
// currently expose usable geometry.
dotX = iconX + (iconBoundsWidth - stackWidth) / 2.0;
dotY = iconY + iconBoundsHeight + kDotGap;
}The fallback isn't only reached on an exotic Windows build — it's also reached transiently. Suggested fix: don't cache a fallback placement as if it were final. Record it on the tracked button and force a re-application on the next update, the same way struct TrackedButton { ...; bool bottomDotsUsedFallback = false; };
// in the early-out:
if (item.lastAppliedCount == count &&
item.lastSettingsGeneration == settingsGeneration &&
(!badgeExpected || item.badge.get()) &&
runningIndicatorReady &&
!item.bottomDotsUsedFallback)
{
return;
}Optional improvements
Minor polish — none of this affects users, so it's your call.
Functionality notes
Non-critical observations and ideas about the feature behavior itself.
Next steps:
See the review process for details. |
|
/ai-review |
|
This pull request has already had 3 AI reviews in the last 24 hours, which is the limit, so no review was posted this time. Comment |
|
/ai-review |
Submission reviewNote: This review was done by Claude. Due to the amount of submissions, doing a fully manual review for each pull request is no longer feasible. Thank you for understanding. Remember: The AI reviewer can be wrong - it may misread code, flag correct code as broken, or suggest changes that make things worse. Treat its findings as suggestions to verify, not instructions to follow blindly. You're responsible for the code you submit, so if a finding doesn't hold up, say so instead of changing working code to satisfy it. Please address the following issues. The items in the collapsed sections are optional, so it's your call whether to address them. No blocking issues — looks good to merge. The risky part of this change is that bottom mode now hides a shell-owned element ( Optional improvements
Minor polish — none of this affects users, so it's your call.
Functionality notes
Non-critical observations and ideas about the feature behavior itself.
Next steps:
See the review process for details. |
|
/ready-for-reviewer |
Adds top and bottom dot positions to Taskbar Count Badges.
Bottom mode replaces only the native Windows running indicator with the count dots, while leaving Windows task progress indicators untouched.
Changelog
Mod authorship
If this pull request introduces a new mod, please complete the section below.
This mod was created by:
Please select the options that best apply. Your selection does not affect the acceptance criteria, but it helps reviewers understand the context of the code and provide relevant feedback.