samanyudas has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
feat: click or drag a hidden window's edge slice to reach it#157
Summary
With displays side by side, #155 shows a hidden window's slice as a live photo on the edge the displays share. On stacked displays you can click a hidden window's sliver to reach it. This PR makes the photo slice clickable too, step 5 of #150.
This branch pins engine b741dfc, the merged head of samanyudas/paneru#81. The branch was rebased before its merge, so b741dfc has the same tree as the tested e30ba61. The change:
- A click on the slice focuses its window, scrolls it into view, and reaches the app on the clicked row, 12 points inside the window's edge. The pointer moves to that point.
- A drag that starts on the slice continues in the app.
- A fast double click acts as one click. A click never reaches the window beside the slice.
- Scrolling and hovering over the slice do nothing.
docs/limitations.md now says what a click and a drag do, that the pointer jumps, and that scroll and hover do nothing. PROGRESS.md records the live checks and the fixes they led to.
Stacked on #155.
Related issues
Part of #150
Verification
Live on Sam's Mac, 29 October, displays side by side, engine
c99fbe8, on an AppKit view and a Chromium page:- Quick clicks with releases 30 to 150 ms after the press arrived as one press and release at one point, 12 points inside the edge.
- A 30 ms double click arrived as one click, and a 50 ms double click as a real double click.
- A drag delivered all 20 moves and its release.
- Hover and scroll did nothing, and the window beside the slice got nothing.
The first live run found that the exact clicked point lands on the window's resize border, where the app gets nothing. Sam chose the 12-point inset. The second found a quick click's release arriving at the slice's old position, which is now moved with the press.
The three later engine fixes guard event reorders that did not happen live. Harness tests cover them. Details are in paneru#81.
make engine-lint, enginecargo test --no-default-features(1048, 42, and 1),make docs,make swift-lint,make build, andswift test(167 tests) pass.make lintpasses exceptcompat, which needs the engine stack on the fork'smiri/v0.5.2.make checkpasses locally, or the skipped targets are named with the reason. Skippede2e, because the live checks above replace it, andcompat, which waits on the engine stack.Behavior that unit tests cannot show was checked end to end, and the observed output is above. Not checked live: the reorder cases the last three engine fixes guard.
PROGRESS.mdreflects the state after this PR.
Release
With displays side by side, clicking or dragging a hidden window's slice on the edge next to the other display brings that window into view and passes the click to it.
Reviewed with sol-loop: 5 rounds with gpt-6.1-sol on high. Sol verdict: approved
Started by a GPT-6.1 Sol continuation in T3 Code. Finished with Claude Opus 5.5 in Claude Code.
๐ค Generated with Claude Code
Checks
Important
- ๐ Trigger review
This repository does not receive automatic reviews because it has fewer than 10 stars.
External image Run configuration
- Source mode: Auto
- Repository: Unavailable
- Branch: Unavailable
- File: No configuration file from this repository applied
- Commit: Unavailable
- Layers: defaults
- Review profile: CHILL
- Plan: Advanced
- Run ID:
04d4018a-d3c8-412f-9e0c-951ca083cf5f
- Autofix ยท Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
samanyudas has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
samanyudas has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
samanyudas has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
Added 6 commits
- fix: drop edge slice presses made before a held press expired15eb5fa
- fix: land edge slice clicks clear of the resize border21a3541
- chore: pin the published engine merge of step 5 (same tree as e30ba61)3fb5281
- fix: drop stale and other-button edge slice presses520271c
- fix: keep edge slice clicks whole when the window arrives late9ef14d0
- feat: forward clicks and drags on edge slice panels to their windowsc478a86
samanyudas has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.