Skip to content

Cooperative Window Resizer#1779

Closed
epicdistraction wants to merge 11 commits into
rxhanson:mainfrom
epicdistraction:epicdistraction/autoadjust
Closed

Cooperative Window Resizer#1779
epicdistraction wants to merge 11 commits into
rxhanson:mainfrom
epicdistraction:epicdistraction/autoadjust

Conversation

@epicdistraction

@epicdistraction epicdistraction commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

I'll rebase to clean up the commits when the Side Split Ratio PR merges.

https://i.imgur.com/hXlCZfk.mp4

The Cooperative Window Resizer will automatically adjust the windows around it to avoid having to cmd tab and resize.

Summary

  • Adds cooperative resizing for repeated side and corner shortcut cycling.
  • Adds a new opt-in preference: “Resize adjacent windows when cycling side or corner shortcuts”
  • Resizes directly adjacent tiled windows inversely when a repeated side/corner cycle changes the focused window
  • Supports co-occupying windows in the same side/corner position so they follow the focused window’s resize
  • Makes side and corner repeated shortcuts interoperable across compatible cycle lanes
  • Handles clean side-to-corner tiled layouts, including stacked corner neighbors
  • Keeps behavior conservative for ambiguous partial overlaps and unrelated floating windows

Testing

  • Added frame-math tests for vertical/horizontal expansion and shrink
  • Added tests for side actions, corner actions, side/corner interoperability, co-occupying windows, and the 2/3 split-ratio first-cycle regression
  • Added regression coverage for partial same-side occupants in a four-corner 2/3 fixture

@rxhanson

Copy link
Copy Markdown
Owner

Awesome, I've been meaning to implement this for a while. I'll test it out tomorrow :)

…t the time of moving window to a different corner.
@epicdistraction

Copy link
Copy Markdown
Contributor Author

Added a small fix. The issue was the cyclic action would erroneously occur when moving a window from a top corner to the other top corner if the side split ratio was <50%

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