Inline QML component encapsulating PopupWindow + concave
corners + morphing animation + dismiss guard. Calendar and
tray context menu both use it now.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Same morphing animation, concave corners, and dismiss behavior
as the calendar popup. Menu drops down from bar at icon position.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Clicking clock while popup open triggered grabFocus dismiss
then immediately reopened. Add justDismissed guard so the
click handler ignores the click that caused the dismiss.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wayland popup protocol prevents re-showing dismissed popups.
Remove grabFocus and toggle open/close via clock click only,
allowing the slide-up animation to play on close.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Intercept grabFocus hide via onVisibleChanged — re-show popup
briefly and animate height to 0 before truly hiding it.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Handle onActiveChanged to set open=false and start close timer
instead of letting grabFocus hide the popup instantly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Canvas at fixed 8x8 inside a clip Item that grows with
calContent.height — corners reveal progressively with the
slide animation instead of breaking on dynamic resize.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Corners now track calContent.height (clamped to 8px) instead of
fading opacity, so they reveal with the same slide-down morph.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Popup was only fullWidth+4, leaving 2px per side — the 8px
corners were clipped. Now fullWidth+16 gives 8px per side.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Filled area was at the bottom of each corner instead of the top.
Flipped arcs so fill connects to bar above and calendar beside.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace broken destination-out compositing with direct Canvas
path fill — draws only the concave shape without alpha tricks.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The floating issue was caused by the game's Unity display mode being
set to Windowed (mode 3), which locks X11 size hints (min=max) and
prevents any tiling WM from resizing it. Fixed by switching the
game to Fullscreen Window (mode 1) in the Wine registry instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>