4. Popout skeleton – header row #5

Closed
opened 2026-05-16 01:38:09 +00:00 by jtmorris · 3 comments
Owner

Parent: PRD #1 (Tailscale Widget Plugin for Dank Bar)

Type: HITL

Blocked by: #4

Create the popout flyout (popoutContent) showing the current Tailscale IP, active exit node, and a toggle control. This slice is marked HITL because it requires visual review of spacing, header layout, and PopoutComponent usage.

Acceptance Criteria

  • Left-click on the bar pill opens a PopoutComponent flyout
  • Header row displays: toggle switch, current Tailscale IP, and active exit-node name (or “None”)
  • Flyout follows DMS PopoutComponent conventions (header, close button, consistent padding)
  • No peer list yet – only the top status row

Notes

Human visual review is needed before adding the full peer list in slice 5.

Parent: PRD #1 (Tailscale Widget Plugin for Dank Bar) **Type:** HITL **Blocked by:** #4 Create the popout flyout (`popoutContent`) showing the current Tailscale IP, active exit node, and a toggle control. This slice is marked HITL because it requires visual review of spacing, header layout, and `PopoutComponent` usage. ## Acceptance Criteria - Left-click on the bar pill opens a `PopoutComponent` flyout - Header row displays: toggle switch, current Tailscale IP, and active exit-node name (or “None”) - Flyout follows DMS `PopoutComponent` conventions (header, close button, consistent padding) - No peer list yet – only the top status row ## Notes Human visual review is needed before adding the full peer list in slice 5.
Author
Owner

Dependency note: This issue is now also blocked by #3.5.

The popout content is correctly defined, but left-clicks are being consumed by the MouseArea in the bar pill before they can reach PluginComponent. Issue #3.5 fixes the event propagation. Until #3.5 is resolved, the popout will not open on left-click regardless of this issue's implementation.

Dependency chain: #4 → #3.5 → #5#6#7

**Dependency note:** This issue is now also blocked by #3.5. The popout content is correctly defined, but left-clicks are being consumed by the `MouseArea` in the bar pill before they can reach `PluginComponent`. Issue #3.5 fixes the event propagation. Until #3.5 is resolved, the popout will not open on left-click regardless of this issue's implementation. Dependency chain: #4 → #3.5 → #5 → #6 → #7
Collaborator

Consolidated the popout into a single header row per acceptance criteria:

  • Toggle icon (left) → Tailscale IP → spacer → exit node label (right)
  • Moved connection status to detailsText (PopoutComponent convention)
  • IP shows '—' when empty
  • Edge margins for consistent padding

Ready for visual review of spacing and layout before proceeding to #6.

Consolidated the popout into a single header row per acceptance criteria: - Toggle icon (left) → Tailscale IP → spacer → exit node label (right) - Moved connection status to detailsText (PopoutComponent convention) - IP shows '—' when empty - Edge margins for consistent padding Ready for visual review of spacing and layout before proceeding to #6.
Collaborator

Left-click popout and right-click toggle are both working. Three fixes were needed:

  1. Removed all MouseArea from pill Components - Any MouseArea inside horizontalBarPill/verticalBarPill intercepts left-click before BasePill internal MouseArea can emit clicked() to open the popout. Pills are now pure visual (Row/DankIcon only).

  2. Added root-level MouseArea for right-click - pillRightClickAction and BasePill.rightClicked signal do not propagate correctly in DMS/Quickshell. A MouseArea at the PluginComponent root level with acceptedButtons: Qt.RightButton and propagateComposedEvents: true reliably captures right-click while letting left-click pass through.

  3. Fixed popout layout - PopoutComponent is a Column. Nesting another Column with anchors.top generates a QML warning and layout failure. Replaced inner Column with an Item using manual y-positioning.

Verified: left-click opens popout, right-click toggles Tailscale, no QML warnings.

Left-click popout and right-click toggle are both working. Three fixes were needed: 1. Removed all MouseArea from pill Components - Any MouseArea inside horizontalBarPill/verticalBarPill intercepts left-click before BasePill internal MouseArea can emit clicked() to open the popout. Pills are now pure visual (Row/DankIcon only). 2. Added root-level MouseArea for right-click - pillRightClickAction and BasePill.rightClicked signal do not propagate correctly in DMS/Quickshell. A MouseArea at the PluginComponent root level with acceptedButtons: Qt.RightButton and propagateComposedEvents: true reliably captures right-click while letting left-click pass through. 3. Fixed popout layout - PopoutComponent is a Column. Nesting another Column with anchors.top generates a QML warning and layout failure. Replaced inner Column with an Item using manual y-positioning. Verified: left-click opens popout, right-click toggles Tailscale, no QML warnings.
vybe closed this issue 2026-05-17 21:46:37 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: jtmorris/dms_tailscalectl#5
No description provided.