diff options
| author | srdusr <[email protected]> | 2025-09-28 21:25:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2025-09-28 21:25:00 +0200 |
| commit | ffdae252782d047a6b2d76c9bb4efeb92c391db3 (patch) | |
| tree | 11ddf590e643e55cdb1e907c0f236dd077236e03 /tools | |
| parent | 58a368df5f7a5d579335d1cb68213baacba5bc63 (diff) | |
| download | srdwm-ffdae252782d047a6b2d76c9bb4efeb92c391db3.tar.gz srdwm-ffdae252782d047a6b2d76c9bb4efeb92c391db3.zip | |
Context/desktop menu polish: real hover tint, real separator line, Select All
Reported live: "looks weird and unpolished... need a lot more items".
Compared directly against the exact AGS reference this project's own
menu rebuild already targets rather than guessing:
- Highlighted rows used a flat, fully-saturated fill instead of the
reference's subtle 22%-accent-into-background wash. New decoration::
color::mix_rgb (channel-wise linear blend, generalizing brighten/
darken's fixed-target blends to an arbitrary second colour/ratio) lets
render_context_menu reproduce that same ratio.
- Every separator row was a label string of Unicode box-drawing
characters rendered as text glyphs, which render inconsistently at
small sizes - a label that's entirely U+2500 now draws a real 1px
hairline instead; a label that mixes it with real text ("--- Move to
Workspace ---", a deliberate section-header convention) still renders
as text, unchanged.
- "Select All" added to the bare-desktop menu, the one action every
mainstream desktop's own menu offers that this one lacked.
New tests needed real care: the panel's own rounded-corner distance
field softens alpha within its radius of any canvas edge, not just the
visible corners, so a naive full-row pixel scan against bg picked that
up as a false positive on the first attempt - fixed by scanning only
rows/columns confirmed (via a throwaway debug dump) to sit inside the
panel's genuinely flat interior.
Full workspace build/test/clippy clean, built and installed. Real
submenus and per-row icons remain real, separate scope - this
project's floating-menu UI has no nested-panel concept yet.
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions