Skip to content

Organize thirds and size actions into menu submenus#1721

Closed
MyronKoch wants to merge 2 commits intorxhanson:mainfrom
MyronKoch:feature/menu-submenus
Closed

Organize thirds and size actions into menu submenus#1721
MyronKoch wants to merge 2 commits intorxhanson:mainfrom
MyronKoch:feature/menu-submenus

Conversation

@MyronKoch
Copy link

Summary

  • Groups thirds actions (First Third, First Two Thirds, Center Third, etc.) into a Thirds submenu
  • Groups size actions (Larger, Smaller, width/height variants) into a Size submenu
  • Removes the code that was hiding the Eighths category menu, so eighths are now visible

Motivation

As Rectangle gains more window positions (fourths, sixths, eighths, ninths, and potentially twelfths/sixteenths), the status bar dropdown menu becomes unwieldy. Submenus keep the top-level menu scannable while making all actions discoverable. This is particularly helpful for users with large displays (50" 4K TVs, ultrawides, multi-monitor setups) who actively use the full range of grid positions.

Changes

  • WindowAction.swift - Adds .thirds and .size to the category property and marks firstThird and larger as firstInGroup for their respective submenus
  • AppDelegate.swift - Removes the if categoryMenu.category == .eighths block that was hiding eighths from the menu

Test plan

  • Thirds submenu appears in the status bar dropdown with all 6 thirds actions
  • Size submenu appears with all size-related actions
  • Eighths submenu is now visible in the dropdown
  • All submenu actions trigger correctly when clicked

🤖 Generated with Claude Code

MyronKoch and others added 2 commits March 13, 2026 14:32
Move thirds (First Third through Last Two Thirds) and size actions
(Almost Maximize, Maximize Height, Larger, Smaller) into their own
submenus in the menu bar dropdown, matching the existing pattern used
by fourths, sixths, eighths, and move actions.

Also removes the conditional hiding of the eighths submenu, making it
always visible like all other grid categories.

This reduces menu clutter for users with many grid sizes enabled,
particularly on large displays and multi-monitor setups.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add largerWidth, smallerWidth, largerHeight, smallerHeight to the
  .size category so all size-related actions appear in the Size submenu
- Remove dead eighthsMenuItem property from AppDelegate (no longer
  assigned after removing the conditional hiding logic)
- Remove dead reference in SettingsViewController toggle handler

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rxhanson
Copy link
Owner

Rectangle has had these menu items this way for quite some time. I agree with the path presented here, but at first cut I would prefer that the existing menu be left as-is by default and provide additional settings for converting those sections into submenus. Let's keep the eighths setting in place, as this is configurable in the ellipsis button popover in the General tab.

@MyronKoch
Copy link
Author

Makes sense to keep the existing menu as the default. I'll add a preference toggle (e.g., "Use submenus for grid positions") in the ellipsis popover that converts the flat menu sections into submenus when enabled. The eighths checkbox stays as-is.

I'll update the PR branch to reflect this approach.

@MyronKoch
Copy link
Author

Closing per Ryan's feedback - incorporating menu submenu changes into #1720.

@MyronKoch MyronKoch closed this Mar 18, 2026
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