New mod: Tray Utility Customizer#4841
Conversation
|
Regarding item 1, you can look at how the Taskbar tray system icon tweaks mod handles this. If only English is supported for now, I think it's worth adding it to the readme. Submission reviewNote: This review was done by Claude, and then refined manually. Due to the amount of submissions, doing a fully manual review for each pull request is no longer feasible. Thank you for understanding. Please address the following issues. The items in the collapsed sections are optional, so it's your call whether to address them.
Optional improvements
Minor polish — none of this affects users, so it's your call.
Functionality notes
Non-critical observations about the feature behavior itself.
|
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
52ba261 to
43d1ac7
Compare
|
Addressed the review in the v1.1 rewrite: documented the remaining English-only detection cases; removed the redundant enabled setting; replaced the IconView/multi-module hooks with TrayUI::StartTaskbar plus a bounded startup/rebuild retry; and added ARM64 GetTaskbarXamlRoot support. The rewrite was tested live through icon churn, Explorer/taskbar rebuild, and disable/restore/re-enable, and the local compiler, lifecycle audit, README parity check, and upstream validator all pass. |
Submission reviewNote: This review was done by Claude, and then refined manually. Due to the amount of submissions, doing a fully manual review for each pull request is no longer feasible. Thank you for understanding. Please address the following issues. The items in the collapsed sections are optional, so it's your call whether to address them. Address 1. I haven't verified 2, see if it's worth addressing.
Optional improvements
Minor polish — none of this affects users in normal operation, so it's your call.
Functionality notes
Non-critical observations about the feature behavior itself.
|
…dening Required items: - no_destroy audit: dropped the attribute from g_settings and g_columnLease (heap-only), moved g_hostSnapshots / g_iconSnapshots / g_hostWatchers to [[clang::no_destroy]] std::optional<std::vector<>> released with reset() on the controlled unload path, and left the nullable WinRT handles as-is. - Straggler discovery now skips any host that backs a host-leaf item rather than only the overflow host, so the MainStack fallback no longer appends phantom targets that inflate the group and leave an empty tray gap. Optional items also addressed: - Retry thread/event handoff is serialized under a lock; g_layoutApplied is std::atomic<bool>. - Wh_ModSettingsChanged goes through the retry path instead of a single-shot apply. - The rebuild cleanup revokes LayoutUpdated tokens instead of zeroing them. - Removed the redundant NULL check in the string-setting helper. - Dropped the unused -lversion; -loleaut32 stays because the mod calls SysFreeString. - @description now mentions the input/language indicator. - The shared layout parser rejects unbalanced parentheses and empty units, matching its documented contract. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Both required items are addressed, and I took all of the optional ones too. 1. 2. Phantom stragglers under the MainStack fallback. Confirmed, and your Optional items — all adopted:
This build was live-tested on Windows 11 before pushing and works as described. |
Adds Tray Utility Customizer v1.1, providing granular per-icon control over the low-frequency Windows 11 tray utilities: Show hidden icons, Emoji and more, touch keyboard, pen menu, virtual touchpad, and the input/language indicator.
The v1.1 rewrite keeps every native control alive and Windows-owned, but gathers their hosts into one reversible group and positions each
IconViewindividually. This handles utilities that share a native host while preserving normal clicks, flyouts, tooltips, hover surfaces, and native sizing.Highlights:
|places groups along the primary axis,,uses the cross axis, and parentheses create alternating nested groups. Missing or hidden utilities collapse automatically; visible unplaced icons are appended so nothing is lost.TrayUI::StartTaskbarlifecycle hook plus a bounded startup/rebuild retry. The earlierIconViewconstructor hook and SystemTray.dll/Taskbar.View.dll/ExplorerExtensions.dll dependency were removed in response to review.Screenshots (the mod readme contains the complete gallery):
Tested live on Windows 11 (primary taskbar): default row, nested row/stack layouts, a full column, borrowed and dedicated tray columns, a busy double-height tray, Right of Start, utility-icon appearance/churn, Explorer/taskbar rebuild, settings reload, and disable → native restoration → re-enable.
Local validation passed with the bundled Windhawk compiler, exit-time destructor audit, embedded/folder readme parity check, and the current upstream PR validator.
Changelog
If this pull request updates an existing mod, describe the changes below:
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.
🤖 Generated with Claude Code