# fix\(ui\): settle panel and popup hover feedback \(\#200\) · lucenx/codexbar-plasma

[View on GitCafe](https://git.cafe/lucenx/codexbar-plasma/commit/f1818a395c2e6b0350ef08cf360c496e91b2e5d1)

Repository: [lucenx/codexbar-plasma](https://git.cafe/lucenx/codexbar-plasma)

Visibility: public

Requested revision: f1818a395c2e6b0350ef08cf360c496e91b2e5d1

Requested commit: f1818a395c2e6b0350ef08cf360c496e91b2e5d1

Commit: f1818a395c2e6b0350ef08cf360c496e91b2e5d1

Tree: 2cdbd36234f0713538a7b8213a727977c6f564d9

Author: Simone

Committer: GitHub

## Message

```
fix(ui): settle panel and popup hover feedback (#200)

Every interactive surface in the popup already animated its hover/press state
with a short transition; four did not, each in a different way.

- Panel provider meter: the hover/press highlight snapped between states.
- Usage & Spend heatmap cell: the hover outline snapped in. Two review rounds
  were needed to get this right. Animating border.width reflowed the cell;
  holding the width and fading the border's alpha only moved the problem, since
  Qt derives the effective border width from the pen and QQuickPen treats a
  zero-alpha colour as invalid, so at rest the cell painted a zero-width border
  and its fill reached the edge. Grabbing rendered pixels confirmed an edge
  pixel flipping from fill colour to near-background in a single frame. The
  cell now carries no border and the outline is a transparent-filled overlay
  whose opacity fades, leaving the painted geometry untouched.
- Session cards: they reveal copy actions on hover but left the card surface
  unchanged. The tint now lifts as overview rows already do.
- Chart readout: the label and value blinked on every pointer entry and exit.
  They now fade with the active point, retaining the last inspected point so
  the fade-out has something to fade, and leaving the accessibility tree while
  no point is active so a screen reader never announces the retained text.
- Tab selection indicator: the tab background crossfaded while the accent
  underline switched instantly. It now fades its alpha over the same duration.

Regression checks in scripts/test_ui_regressions.sh pin each behaviour,
including rejecting the alpha-faded border shape outright.

Documentation impact: none. Internal motion and consistency work with no new
setting, behaviour, or CLI contract change. CHANGELOG.md updated under
Unreleased -> Fixed.
```

## Parents

- [6fde6646f4b24964aa6b11e86a46457a7d04068d](https://git.cafe/lucenx/codexbar-plasma/commit/6fde6646f4b24964aa6b11e86a46457a7d04068d?format=markdown)

[Source at this commit](https://git.cafe/lucenx/codexbar-plasma/tree/f1818a395c2e6b0350ef08cf360c496e91b2e5d1?format=markdown)
