Conversation
Signed-off-by: Nikolai Berezovskii <nikolai@brzv.sk>
|
Merged as cc1f552. This one needed the most work, so flagging what I changed. It was written against the old shelfProDark flag, which #13 replaced with ShelfTheme, so I dropped the proDark parameters and threaded floatingShelf alongside the theme instead. ShelfPanelController.init now takes both. I also removed the 'Always Use Dark Shelf' toggle this PR carried, because the Appearance picker from #13 supersedes it and shelfProDark no longer exists as a property. And I wrote a doc comment for floatingShelf to match the rest of that file. The ShelfClippingView was a good catch. Keeping the window still and sliding only the clipped content is the right fix for a display sitting below the main one. I have not tested that case on hardware yet. Closing because the rebase changed the SHAs. Thanks! |
What this changes
Adds an Edge Attached / Floating shelf setting, defaulting to the existing attached style. Floating adds 12-point side/bottom gaps, four rounded corners and a short slide transition. It keeps the nonactivating panel behavior and preserves Paste Stack and the existing close-completion safeguards.
The floating animation moves content inside a clipped, stationary window rather than moving the window below the display. This incorporates the fork's multi-monitor fix with one path that cannot spill onto a display below. Reduce Motion skips the floating slide. The shared glass helper retains Reduce Transparency and pre-macOS-26 fallback behavior.
Independent PR; no dependency on the appearance-choice PR.
How you tested it
All 189 CopyCore tests passed, including attached/floating frames, standard/compact heights and offset display coordinates.
Xcode Debug build passed;
git diff --checkpassed.Reviewed close cancellation, deferred completions and bounded animation geometry. Physical multi-monitor animation and paste-in-another-app checks remain manual; the isolated demo build has no Accessibility grant.
Every commit is signed off.
Engine changes include tests.
All three SPM pins are preserved.