Repository navigation
Conversation
Add Taskbar Quick Pin Dock v2.0.0 - Initial submission of Taskbar Quick Pin Dock mod (v2.0.0) - Persistent mini icon dock anchored left of Start button - Drag to pin, drag to reorder, drag rope snap to unpin - Dust vanish animation effect on unpin - Triple-tap L lock/unlock protection - Scroll-wheel navigation for >10 pinned apps - Dynamic dock sizing, rounded corners, and frosted glass overlay - Multi-monitor mirrored read-only dock support (Beta)
###What's new in v2.5.0: - Code hygiene & stability
- Startup ownership race fixed - Unsupported layout fixed - Both dock windows hidden on unsupported layout. - Drag processing stops when layout is unsupported - TOPMOST refresh no longer forces hidden windows visible. - Rename-dialog shutdown hang fixed - Rainbow mode removed - Glass setting removed - Will be added later
- Fix deferred startup ownership probing when Shell_TrayWnd is unavailable - Fix unsupported-layout detection and suspend dock interaction - Keep overlay/input windows hidden until valid ownership and geometry exist - Prevent TOPMOST maintenance from re-showing hidden windows - Remove non-functional settings and dead feature paths - Fix rename-dialog WM_QUIT handling during unload/reload - Add regression coverage for drag, pin, unpin, and dock lifecycle paths - Tool-mod migration skipped Tool-mod migration was investigated but remains out of scope for this PR. Multiple prototypes compiled, but the dedicated-process UI did not initialize and produced no useful runtime diagnostics, so the existing explorer-hosted architecture was retained.
🪶 Leaner tool-mod runtime. — General optimisation of the tool-mod process.
✨ Drag-to-pin feedback layer. — A glow bloom shows GREEN ("there's room") or RED ("dock full") while you drag an app toward the dock.
🖥️ Cleaner fullscreen & Snipping Tool handling. — The dock hides smoothly under fullscreen apps and the Windows native Snipping Tool overlay, with anti-flicker so it reappears seamlessly.
🎯 Refined feedback behaviour. — Dragging or deleting an already-pinned icon near the dock now stays calm in BOTH pin-limit states (dock full or with room) — no false "dock full" flash for an app that is already pinned.
🧱 New "Hide dock outline" toggle (hideDockBorder). — Turn off the thin grey Windows 11 outline drawn around the dock. Purely cosmetic; the dock, icons and rounded corners are unchanged.
🎬 Two lock/unlock flash animations, with a toggle (enableLockAnimation). — OFF: a brief highlight on the dock's real edge. ON: a loading-style glow sweeps left→right across the whole dock. Colours unchanged (gold when locking, green when unlocking).
🔧 Some more stability & polish improvements.
v0.10.0
|
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 Submitting !Net (not-Net). |
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. This is a large tool mod (6.5k lines, AI-assisted) with real stability problems: a guaranteed UI hang, data races between threads, and a persistent firewall write. It doesn't duplicate an existing mod. The closest one, Net-Toggle, is a kill switch for the whole machine, while this one blocks per app through WFP. 1. The UI thread deadlocks whenever the VPN / Remote Desktop warning appears. bool lockCrit, warnVpn;
{
std::lock_guard<std::mutex> lk(g_settingsMtx);
lockCrit = g_settings.lockSystemProcesses;
warnVpn = g_settings.warnOnVpnOrRemote;
}
if (lockCrit && IsCriticalSystemExe(low)) { ... }
if (warnVpn && askUser && IsVpnOrRemoteExe(low)) { /* MessageBoxW, no lock held */ }Also add the 2. The cycle scheduler and pipe threads modify state that only the UI thread should touch.
Fix: keep 3. Persistent change: "Persistent Rules" are written to Windows Defender Firewall and are never removed. For each
4. The "Run as Admin" relaunch works around the tool-mod launcher.
Please use the elevated host and drop the self-relaunch. How 1.7.3 users should get elevation is a question for the maintainer. If the relaunch stays for 1.7.3, the original process at least needs to exit once the elevated one has started. 5. Remove the 6. The mod keeps its own log file outside Windhawk storage. 7. "Include child processes" (on by default) blocks shared executables everywhere on the system.
Only names in 8. The tool-mod launcher isn't the wiki snippet verbatim (L6441–6554). 9. The tray icon disappears after Explorer restarts. 10. The excluded-apps list is lost once it grows past 4,095 characters. 11. Several settings do nothing.
12. Constant polling and unthrottled refreshes.
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.
Code overview
For the maintainer: a map of the mod and what it touches outside its own process. Descriptive only — anything that needs a change is listed above. Line numbers refer to the mod source at commit Code regions
Side effects of interest
Next steps:
See the review process for details. Important: Each reply that was generated by AI must be disclosed by including the following text in the reply: "Generated by AI. Model: (ai-model-name)". |
|
/ai-review !Net (not-Net). README screenshot: the mod is mostly UI (pill, panel, clock widget, Cycle popup), so a screenshot or GIF would help users see what they're installing. - Handled - After Finishing Development - Til Skipped |
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. Thanks for the thorough update. Almost everything from the last round is fixed:
One crash remains, in code that was already there last round and that I missed then: 1. Row clicks keep references into
The "Stop the cycle?" dialog is shown only for an app that's cycling, so a phase change during the dialog is the normal case. With the default 10 s / 5 s cycle, it takes only a few seconds before answering. The result is a toggle in the wrong direction, or a crash of the tool process, which drops every block at once. Fix: copy what you need before any modal UI, and re-read the live block state afterwards: AppEntry app = g_appList[hr.rowIndex]; // copy, not a reference
...
bool blockedNow;
{
std::lock_guard<std::mutex> lk(g_engineMtx);
auto it = g_blocks.find(app.exePath);
blockedNow = it != g_blocks.end() && it->second.blocked;
}Also take 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.
Code overview
For the maintainer: a map of the mod and what it touches outside its own process. Descriptive only — anything that needs a change is listed above. Line numbers refer to the mod source at commit Code regions
Side effects of interest
Next steps:
See the review process for details. Important: Each reply that was generated by AI must be disclosed by including the following text in the reply: "Generated by AI. Model: (ai-model-name)". |
|
/ai-review !Net (not-Net). README screenshot: the mod is mostly UI (pill, panel, clock widget, Cycle popup), so a screenshot or GIF would help users see what they're installing. - Handled - After Finishing Development - Til Skipped |
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. Thanks, this round fixes everything from the last review:
One more instance of last round's crash is left, in the right-click menu: 1. The row context menu keeps a reference into
"Stop Cycle" appears only for an app that's cycling, so a phase change while the menu is open is the normal case. Picking an item then reads freed memory, which can stop the wrong cycle or crash the tool process. It's the same one-line fix as in AppEntry app = g_appList[hr->rowIndex]; // copy, not a referenceOptional 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.
Code overview
For the maintainer: a map of the mod and what it touches outside its own process. Descriptive only — anything that needs a change is listed above. Line numbers refer to the mod source at commit Code regions
Side effects of interest
Next steps:
See the review process for details. Important: Each reply that was generated by AI must be disclosed by including the following text in the reply: "Generated by AI. Model: (ai-model-name)". |
Submitting !Net — Per-App Kill Switch (not-net), a Windhawk Tool Mod (@include windhawk.exe) for instant per-application internet control using Windows Filtering Platform dynamic sessions (FWPM_SESSION_DYNAMIC), foreground-app hotkeys (Ctrl+Shift+1), and a focus-aware Cycle Mode scheduler with an edge/corner pill and companion clock widget.
If this pull request updates an existing mod, describe the changes inside the changelog markers:
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.