# fix\(popup\): clarify overview quota hierarchy · PR \#618 · lucenx/codexbar-plasma

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

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

Visibility: public

State: merged

Source repository: lucenx/codexbar-plasma

Source branch: codex/popup-quota-hierarchy

Target branch: main

Head commit: 34c93ff14290ba5e7e7926831d0e0fd5138b8686

[Discussion and reviews](https://git.cafe/lucenx/codexbar-plasma/pull/618)

[Commits](https://git.cafe/lucenx/codexbar-plasma/pull/618/commits?format=markdown)

[Files changed](https://git.cafe/lucenx/codexbar-plasma/pull/618/diffs?format=markdown)

## Description

---

## Summary

Overview quota titles and resets currently share one muted caption, and provider icons sit halfway through the meters. Give quota titles their own stronger text, let resets shorten independently, and align icons and navigation indicators with provider identity. Percentages retain the meter's trailing edge. Usage-row hide actions now appear immediately on hover and keyboard focus.

```diff
 Provider identity
-Session · Resets 2h 35m             43% used
+Session  Resets 2h 35m             43% used
 [quota meter]
```

## Related issue

None.

## Documentation impact

- Update the usage guide, synthetic Overview screenshot, and Unreleased changelog.
- TODO.md is unchanged: this scoped visual refinement completes no listed parity item and changes no CLI contract or blocker.
- Installation, requirements, configuration keys, and translations are unchanged. No new translatable strings are introduced.

## Verification

- `make check`: passed for the popup patch before rebasing onto the independent status-component change. Documentation, popup-layout and changelog checks also passed after the rebase; final integrated coverage is tracked in CI. The local environment skips 117 QtTest cases requiring optional KDE modules, and QML import/type metadata checks are partial. No missing actionlint, pyflakes, or kpackagetool6 tools.
- Direct popup-control QtTests: 32 passed, no failures or skips. Overview layout warnings are rejected by the existing quota-window test.
- Direct hide-action QtTest: passed with an immediate opacity assertion after keyboard focus.
- Isolated real-applet smoke checks passed for Overview with OpenGL, German long text in Breeze Light, and German overflowing tabs in Breeze Light.
- `make package`: passed in a temporary copy of the final tracked tree. The original generated `contents/locale` directory is root-owned, so packaging directly in this checkout cannot replace it. The final package was upgraded with `kpackagetool6`.
- No active plasmashell service is available for a live desktop check; recent service logs contain no matching applet errors. Runtime coverage comes from isolated plasmawindowed captures with synthetic data.
- Repository consistency review covers callers, existing popup configuration, tests, translations, packaging, metadata, guides, screenshot, TODO, and open issues. No remaining inconsistency identified.
- CI: pending for `ddefc8e7d8e29f82787f91941be0907d40190230`.

## Visual changes

| Before | After |
| --- | --- |
| [Baseline screenshot](https://github.com/Lucenx9/codexbar-plasma/blob/6f97948/docs/codexbar-plasma-overview.png) | [Updated screenshot](https://github.com/Lucenx9/codexbar-plasma/blob/ddefc8e7d8e29f82787f91941be0907d40190230/docs/codexbar-plasma-overview.png) |

[Editable Figma comparison](https://www.figma.com/design/gvUKrrc9sUgqXyWqM8l7x2?node-id=3-2), built with editable text and vectors, Noto Sans, and synthetic account data. Figma rendering, file creation, reading, and editing were verified.

## Review notes

The quota header uses a plain Item so child widths do not feed assigned geometry back into layout size hints. Existing full-text tooltips, screen-reader descriptions, provider selection, and native focus/press feedback are retained. The percentage and quota values are unchanged.

## Evidence

The visual comparison and production smoke captures show the change. The existing hide-action test now checks immediate visibility instead of waiting for a fade; the Overview test rejects recursive layout warnings.

## Merge Danger

**Door:** two-way. The change is reversible and introduces no persisted state.

**Blast Radius:** popup. Overview presentation and usage-row action visibility only.


<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

<!-- coderabbit-ai-generated:v1 -->

## Summary by CodeRabbit

* **Changed**
  * Overview quota headers now distinguish quota names from reset details, with percentages aligned to the ends of their meters.
  * Provider icons and navigation indicators are aligned consistently with provider information.
  * Usage-row hide actions appear on hover or keyboard focus without an animation delay.
* **Documentation**
  * Updated the usage guide to describe the Overview layout and when hide actions are displayed.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
