Skip to content

add new window actions: tile the focused display in rows or columns - #1850

Open
dank-openai wants to merge 1 commit into
rxhanson:mainfrom
dank-openai:dank/wip/rectangle-rows-columns-upstream
Open

add new window actions: tile the focused display in rows or columns#1850
dank-openai wants to merge 1 commit into
rxhanson:mainfrom
dank-openai:dank/wip/rectangle-rows-columns-upstream

Conversation

@dank-openai

@dank-openai dank-openai commented Sep 7, 2026

Copy link
Copy Markdown

Summary

  • Add separate, on-demand Tile Windows in Rows and Tile Windows in Columns actions in More Shortcuts, with independent bindings, localized labels, icons, and URL actions.
  • Arrange eligible windows in the current Space on the focused window's display, using their positions before any window moves. Windows on other displays stay in place.
  • Fill the display's configured work area in backing-pixel bands when window sizes allow it, honoring screen-edge gaps and redistributing space around size limits.

Why This Change

Tile All makes a grid. Rows and Columns provide full-width top-to-bottom or full-height left-to-right layouts without continuous reflow. Neither action has a default shortcut, so existing bindings are preserved.

For example, if three windows share 901 available backing pixels after configured edge gaps, Rows assigns 301, 300, and 300 pixels. The bands meet without an internal gap, while the reserved screen edges remain clear.

Limits and validation

If an app refuses a requested size, Rectangle attempts to rebalance the bands; an impossible layout may still leave a gap or overlap. A window without an accessible ID may be left untiled when on-screen evidence cannot distinguish it from a window in another Space. Todo Mode's window participates in tiling, and its sidebar reserves space only while pinned.

I manually tested Rows and Columns on my Mac; they worked as expected, and windows on the other monitor stayed in place. A nonlaunching xcodebuild build-for-testing succeeded. The added XCTest cases compiled but were not run. Todo, and nonzero edge-gap behavior were not tested.

Expose separate on-demand shortcuts in More Shortcuts and arrange ordinary
windows from the current Space into pixel-aligned bands on the focused
display. Respect configured screen-edge gaps and window size limits while
leaving other displays in place.

Include the Todo sidebar transition, icons, localization, documentation,
and focused layout regression tests.
@dank-openai dank-openai changed the title Window actions: tile the focused display in rows or columns add new window actions: tile the focused display in rows or columns Sep 7, 2026
@rxhanson

rxhanson commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Thanks for contributing! At the moment, new window actions are being placed in the popover at the Extras button in the General tab until I rearrange things in this release. Would you mind moving these there?

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