Skip to content

bar: stop hidden pills from catching clicks - #3488

Merged
bbedward merged 1 commit into
AvengeMedia:masterfrom
cwelsys:fix/hidden-plugin-pill-hitbox
Sep 19, 2026
Merged

bbedward merged 1 commit into
AvengeMedia:masterfrom
cwelsys:fix/hidden-plugin-pill-hitbox

Conversation

@cwelsys

@cwelsys cwelsys commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Description

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes existing behavior)
  • Refactor / internal cleanup
  • Documentation
  • Other

Related issues

Screenshots / video

Checklist

  • My code follows the conventions in CONTRIBUTING.md
  • I have tested my changes locally
  • New user-facing strings are wrapped in I18n.tr() with translator context, reusing existing terms where possible
  • Go changes: ran make fmt, added/updated tests, make test passes, and go mod tidy is clean
  • QML changes: ran make lint-qml with no new warnings
  • I have opened a corresponding pull request in dlx-docs to document any new behaviors: https://github.com/AvengeMedia/DankLinux-Docs

@bbedward

Copy link
Copy Markdown
Collaborator

/claude review

@claude

claude Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Claude review

No issues found.

Checked: the one-line enabled: width > 0 && height > 0 on BarPill's root correctly kills the mouseArea hit area that survives a PropertyChanges { width: 0 } hidden state (CapsLockIndicator, PrivacyIndicator, SystemTrayBar, PluginComponent) — that MouseArea is z: -1 with x: -leftMargin / width: root.width + leftMargin + rightMargin, so at width 0 it still spanned the Fitts reach / gap margins in an unclipped parent. Verified no BarPill consumer binds enabled (so the binding is never clobbered), that the condition can only go false when the content Loader has no item or a state pins the size to 0 (non-null content always yields at least horizontalPadding * 2), that enabled propagating to StateLayer/DankRipple/content introduces no binding loop via visualWidth ← implicitWidth, and that the three QML tests instantiating pills keep nonzero size. No translation catalogs, Go, or mock files touched. Model: claude-opus-5.

@bbedward
bbedward merged commit b5415ca into AvengeMedia:master Sep 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants