✨ Resizing adjacent windows
@mrkai77 is already working on this.
Since Mar 24, 2024.
- Dominant language
- Swift
- Stars
- 11.6k
- Forks
- 270
- Avg merge
- 8h 7m
- Merged PRs (30d)
- 3
Description
Feature Request Description
When using macOS's split-view feature, the ability to adjust the middle divider for dynamic window resizing is quite useful, as demonstrated here:
https://github.com/MrKai77/Loop/assets/2030968/a6a5d008-5c15-40fb-b0a9-98289d43caa2
It would be cool if similar logic can be supported by Loop. Here's what I envision for this feature:
- Dynamic Window Resizing: Adjusting the size of one window should cause adjacent windows to resize accordingly, maintaining its alignment.
- Unified Adjustment for Shared Borders: Windows hidden behind the active window, which share a border with the resized window, should also resize dynamically. This creates a consistent layout and alignment.
- Padding Support: Adjustments should respect user-defined padding settings to maintain the visual consistency and usability of the workspace.
A potential implementation could involve user-adjustable virtual grid lines. Currently, the default possible grid (excluding the "Almost Maximize" setting) looks something like the following if I'm not mistake.
As an example, if a window is snapped to the Top Left Third and the user resizes it downward, all windows within this cell should reflect the change. Moreover, future window snaps would adhere to the adjusted layout. Here's what a 2 x 3 layout adjustment might look:
In terms of how Loop will detect and respond to window resizing actions would still be up for discussion. You could listen to window resizing events from the OS or implement a custom solution making use of preview windows, which might better reflect the impact of the resize on all windows.
I'm keen to hear your thoughts on this proposal and whether it aligns with your vision for Loop's evolution.
Screenshots
No response
Additional Context
No response
Final Checks
- My issue title is descriptive
- This is a single feature request (multiple feature requests should be reported individually)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.