Skip to content

fix: Edit/Copy pills no longer shove each other on hover - #20

Merged
b451c merged 2 commits into
b451c:mainfrom
Coriou:fix/chrome-cluster-hover
Aug 17, 2026
Merged

fix: Edit/Copy pills no longer shove each other on hover#20
b451c merged 2 commits into
b451c:mainfrom
Coriou:fix/chrome-cluster-hover

Conversation

@Coriou

@Coriou Coriou commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Thanks for building a truly fast & clean Markdown viewer, much appreciated.

The top-right Edit and Copy pills used to resize independently on hover, so moving from one to the other made the target slide out from under the pointer. They now share a hover cluster: both expand together, both collapse together after a short delay.

I haven't run the app — traveling with an Xcode-free laptop, and installing it felt like overkill for this edit. The hover state machine is unit-tested and I'm fairly confident it's a clean upgrade.

Coriou added 2 commits August 17, 2026 08:01
The top-right chrome pills expanded independently, so moving from one
to the other shifted the target under the pointer. They now share a
hover cluster and collapse together after a short delay.
An Unreleased section is implied by the PR itself; the maintainer
can record this when they cut the version.
@b451c
b451c merged commit 3e30b3f into b451c:main Aug 17, 2026
3 checks passed
b451c added a commit that referenced this pull request Aug 17, 2026
…l dimming

Follow-up to #20. Verified in the running app (Development build, HID
pointer events + window captures):

- Cluster: expanding both pills on any entry pushed the Edit pill ~100 pt
  left the moment the pointer reached it, leaving "Copy source" under the
  pointer (a click there would copy instead of opening the editor). Now a
  pill expands only once the pointer has touched it, and every touched pill
  stays open until the pointer leaves the whole group — the pill under the
  pointer grows around the pointer, and nothing jumps back while travelling
  between pills. Same fix for the Copy → Edit path the PR set out to solve.
- Support (Menu) pill: state inside a Menu label is rendered once and then
  ignored on macOS, so the label-internal opacity left the pill permanently
  bright. Hover feedback lives on the Menu again (`.fixed` label mode) —
  pixel-identical to 1.8.0 idle/hover.

Tip Jar (APPSTORE) and Edit/Copy verified in all three configurations;
131/131 tests.
@b451c

b451c commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Merged, thanks! Good catch on the shove, and a clean extraction (the four pill copies are gone; the accessibility label and reduce-motion bits are welcome too).

Since you couldn't run it, I tested it on a real machine before merging. Two things came up, fixed in a follow-up commit (4742131) on top of your work:

  1. Expanding both pills on any entry pushed the Edit pill about 100 pt to the left the moment the pointer reached it, so "Copy source" ended up under the pointer. Hover Edit, click, and you copy the source instead of opening the editor. The cluster now expands only the pill the pointer has actually touched, and keeps every touched pill open until the pointer leaves the whole group. Same effect for the Copy -> Edit path you set out to fix, but the pill under the pointer stays under the pointer.

  2. On macOS a Menu label is rendered once and later state changes inside it are ignored, so the opacity inside the Support label left that pill permanently bright. Hover feedback lives on the Menu again (a .fixed label mode). Pixel-identical to 1.8.0 idle/hover.

Your ChromeHoverState + tests, ChromePill and the cluster modifier are kept as-is. This ships in the next release; you'll be credited in the changelog.

@b451c

b451c commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Shipped in v1.9.0 (https://github.com/b451c/quickmd/releases/tag/v1.9.0), with a credit in the changelog and release notes. Thanks again!

@Coriou

Coriou commented Aug 17, 2026 via email

Copy link
Copy Markdown
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants