Skip to content

✨ Resizing adjacent windows #264

Description

@boedy

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:

resize.mov

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.

Frame 8

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:

Frame 9

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)

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions