fix: hide columns past a free bottom corner instead of a bar beside another display#151

merged1
main
feat/150-free-corner-hiding
opened13d agobySSamanyu Das
View on GitHubTwo-way sync enabledPR last imported 12d ago

Summary

With displays side by side, a column hidden toward the edge the displays share tucks below its own display (#148). When another display sat beyond that bottom corner, the window sat flush inside the side, so its whole width showed as a bar along the bottom. Sam rejected that bar.

This branch pins engine 6fda494, the head of samanyudas/paneru#78:

  • A hidden column on a shared edge now hangs past a free bottom corner of its own display, with 1 point of its width showing. A free corner has no display beyond it.
  • The engine tries the corner on the side the column hangs past first, then the other bottom corner.
  • Only when displays sit beyond both bottom corners does the window sit flush, as before.
  • Free sides keep today's sliver, so displays above and below each other behave as before.

This is step 1 of #150. Sam chose it on 28 October after running the prototype live on side-by-side displays. The bottom bar was gone, and every window stayed in its own Space. docs/limitations.md and PROGRESS.md now describe the corner.

Part of #150 Refs #103

Verification

  • Engine: two new corner tests in src/tests/side_by_side.rs fail on 5075a4a and pass at 6fda494. The flush-fallback and free-side tests pass on both. Details are in paneru#78.

  • make engine-lint passes. Engine cargo test --no-default-features: 42, 1, and 1003 passed.

  • make doctor, make swift-lint, make build, and swift test (167 tests) pass. The built bundle reports engine source 6fda494.

  • Live on Miri Developer on Sam's Mac, 28 October, with the built-in display (2048x1332) to the left of the 2560x1440 display, on this head's build:

    • The 27-inch display's left side touches the built-in display. Its hidden left columns (a two-window Helium stack and one more Helium window) sat past its free bottom-right corner at x=2559, 1 point showing, all in Space 515.
    • The built-in display's right side touches the 27-inch. Its hidden right column (Helium) sat past its free bottom-left corner at x=-3676 with a 1629-point width, so 1 point showed, in its own Space.
    • The free right edge of the 27-inch kept the 5-point sliver (Notion, Grok, Notes at x=2555).
    • Scrolling the 27-inch strip to its first column, then its last (five columns hidden left, all at the bottom-right corner), then back to T3 Code kept every window in its own Space.
    • Screenshots of all four bottom corners showed no bar.
  • make lint passes except compat, which needs 6fda494 on the fork's miri/v0.5.2. It passes once paneru#78 merges with a merge commit.

  • make check passes locally, or the skipped targets are named with the reason. Skipped e2e, because it launches Miri Developer, and the live check above replaces it. compat waits on paneru#78.

  • Behavior that unit tests cannot show was checked end to end, and the observed output is above.

  • PROGRESS.md reflects the state after this PR.

Release

With displays side by side, hidden windows no longer show a bar along the bottom of a display. They hide past a free bottom corner instead.

Reviewed with sol-loop: 1 round with gpt-6.1-sol on high. Sol verdict: approved

Created with Claude Opus 5.5 in Claude Code.

๐Ÿค– Generated with Claude Code

Checks

2 successful ยท 1 skipped
All checks passed
ef899b7

Added 1 commit

  • fix: hide columns past a free bottom corner beside another displayef899b7
Synced from GitHub

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: ff887591-4a79-4565-a468-66d2f4903732
  • 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.

โค๏ธ Share

Comment @coderabbitai help to get the list of available commands.