HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
rxhanson
Rectangle
Swift2019–2026
rxhanson / Rectangle

Rectangle

Move and resize windows on macOS with keyboard shortcuts and snap areas

54Distinct people
61Mentions
6Explicit recommenders
30.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Move and resize windows on macOS with keyboard shortcuts and snap areas

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Wow, I didn't know there was a paid Pro option, but the same developer also makes the open source app Rectangle, which sounds like the same thing minus a few features. I use it…

varenc used a recommendation phrase. 6 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 12:03:30 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year61 dated mentions

Observed mentions: 2019-08-06 05:18:24 UTC to 2026-06-23 14:39:02 UTC.

0510152019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 7 mentions; 2 submissions, 5 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 16 mentions; 3 submissions, 13 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 16 mentions; 4 submissions, 12 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 11 mentions; 0 submissions, 11 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC211
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC725
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC16313
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC16412
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC11011
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC606
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 12, 2026.

Read the project’s introduction
Rectangle English | 简体中文 Rectangle is a window management app for macOS based on Spectacle. System Requirements Rectangle supports macOS v14+. For macOS 10.15 - 13: v1.100 For macOS 10.13 and 10.14: v0.73 Installation You can download the latest dmg from https://rectangleapp.com or the Releases page. Or install with brew cask: brew install --cask rectangle How to use it The keyboard shortcuts are self explanatory, but the snap areas can use some explanation if you've never used them on Windows or other window management apps. Drag a window to the edge of the screen. When the mouse cursor reaches the edge of the screen, you'll see a footprint that Rectangle will attempt to resize and move the window to when the click is released. Snap Area Resulting Action Left or right edge Left or right half Top Maximize Corners Quarter in respective corner Left or right edge, just above or below a corner Top or bottom half Bottom left, center, or right third Respective third Bottom left or right third, then drag to bottom center First or last two thirds, respectively In Behavior > Extras, enable Animate windows for smooth window resizing, or in Snap Areas, enable Blur footprint for a blurred snap preview. Both are off by default. Animated snapping keeps the selected edge or center aligned when an app limits its window size or aspect ratio. Dragging a snapped window starts restoring its previous size as the window begins moving, and a quick release lets the remaining restore animation continue. Far-right title-bar grabs can still show visible jumps. Title-bar double-click maximize/restore follows the same animation setting and timing as snapping. Window animation has been tested in known scenarios, but remains experimental because repeatedly updating the window's size and position during the transition may cause issues in some edge cases. Tile windows in rows or columns In Behavior > Extras, enable Show Extra shortcuts in menu to include Rows and Columns in the Tiling submenu. Their keyboard shortcuts remain available when the submenu is hidden. In Settings > Shortcuts, expand ⋯ and then Extra to assign separate keys to Tile in Rows and Tile in Columns. Each action arranges ordinary windows in the current Space on the display containing the focused window, including windows covered by others. When no ordinary window is focused, the display under the mouse pointer is used instead. Tile All uses the same display-selection rule. Normally, windows on another display stay in place, and an empty target display does nothing. When Rectangle's combined-display mode is enabled and macOS "Displays have separate Spaces" is disabled, Rows and Columns instead tile across the combined display area. Rows run from top to bottom; columns run from left to right. Within either direction, Rectangle uses the windows' upper-left positions before moving them to choose their order. From an unrecognized layout, the first press starts with one window per row or column. Repeating the action cycles through distinct grid layouts. Click the gear button next to Tile in Rows to set Maximum windows per column and Maximum windows per row, which control the cycle independently. Both default to 3 and are independent of the single-window Repeated commands setting. Set either limit to 1 to keep that action's original one-window-per-row-or-column behavior. Existing saved limits are preserved. Windows are balanced across occupied rows or columns, with no deliberately empty cells. For example, six windows with a column limit of 3 cycle through six columns of one, three columns of two, two columns of three, then repeat. Five windows cycle through column populations 1,1,1,1,1, 2,2,1, and 3,2. A column with fewer windows still fills its full height; rows behave the same way across their full width. Duplicate layouts are skipped, so four windows with a limit of 3 alternate between four groups of one and two groups of two. Limits above the number of windows add no layouts. Columns have equal widths and rows have equal heights, within one display pixel, when the apps allow it. The grid fills the selected work area inside macOS reservations (such as the menu bar and Dock) and Rectangle's configured screen-edge gaps. App size restrictions take precedence: if two columns share 1000 pixels and one requires at least 600, a feasible allocation is 600/400. If no allocation satisfies all app restrictions, Rectangle still attempts the layout, which may leave a gap or overlap. If an app does not respond in time, the layout may remain partial. Moving or resizing a window, opening or closing one, or changing screen-edge gaps does not rearrange windows automatically. The next press of the same action reapplies its active grid layout using the current windows and their positions. A press that would leave the layout unchanged advances immediately. Lowering a limit below the active layout uses the greatest allowed layout on the next press. Rectangle keeps the active layout only while it is running. After a restart, the first press advances from an intact, recognizable grid; otherwise it starts with one window per row or column. The Todo window is excluded using the same rules as Rectangle's other multi-window actions. The bands respect the existing Todo sidebar reservation. For example, with 1000 pixels available and a 200-pixel sidebar reservation, the other windows tile within the remaining 800 pixels while Todo stays in place. Cycle stacked windows When several windows are snapped to the same area, such as three windows on the left half, only the front one is visible. In Settings > Behavior > Stacked Windows, assign keys to Cycle stacked windows and Cycle stacked windows backward. Each press brings forward one window from the stack that the focused window belongs to. A window is in the stack when it sits at the same position as the window focused at the first press, or is offset from it by Offset window position on overlap, whatever its size.
Read the full README on GitHub

What Hacker News says

16 sources
rxhanson·Oct 28, 2022Submission

Ask HN: As an indie developer, how can you fight fraud?

I'm the developer of Rectangle [1], a FOSS window manager for macOS, and its paid version, Rectangle Pro. This past year, someone created a fraudulent site[2] that has gained enough traction to rank on the first page of Google search results for my official site. Users have started falling for the scam, and are buying a cracked version of my paid app. It would appear that my only recourse is to report the fraudulent site and associated accounts to each of their services (registrar, Google Safebrowsing, etc), which I have done. Unfortunately, there is no result from this, and I've started to try to get my users to also report it [3]. Is there anything else I can do? Does anyone else have a similar experience where they were successful? [1] https://rectangleapp.com [2] rectanglemac(dot)com [3] https://github.com/rxhanson/Rectangle/discussio
Read the rest
ns/969
30 points · Open discussion
> MonitorControl for M1 wouldn’t have been possible if I hadn’t open sourced Lunar’s code and my reasearch on that. Thank you for your open source contributions. > I can’t have it fully open source and still earn money from it. I understand. No one asked you to make it 100% open source, but it would be great if the open source parts of the app are decoupled and can be independently built. Actually, I knew several partially open source apps, similar to Lunar. For example, Rectangle [1] has both an open source version and a pro (paid) version. However, unlike Lunar, the open source code of Rectangle is buildable. In fact, Lunar might be the first partially open source app I know that is not buildable. [1]: https://github.com/rxhanson/Rectangle
In HDMI Firewall
Personally I use Spectacle [0] and a few handy shortcuts to move and resize windows. For me, it's just enough customization without going over the board with scripting a window manager from scratch. As I just discovered, Spectacle is no longer actively maintained, but it still works just fine. The recommended alternative from their readme is Rectangle [1]. [0] https://github.com/eczarny/spectacle [1] https://github.com/rxhanson/Rectangle
In Moving a macOS window by clicking anywhere on it
Rectangle dev here. Rectangle will get you some more window actions, as you can see in the GitHub readme [1]. There are also some hidden configurations beyond what's in the UI [2]. There's also a feature called todo mode that kind of lets you pin a window on the side of the screen. This feature was created by Patrick Collison of Stripe and Nat Friedman. And there's the fact that it's open source. The real differences come in the paid, closed source version: Rectangle Pro [3]. Here's a comparison of some of my similar apps: https://rectangleapp.com/comparison Rectangle is not on the Mac App Store, though, if that's important to you. [1]: https://github.com/rxhanson/Rectangle [2]: https://github.com/rxhanson/Rectangle/blob/master/TerminalCo... [3]: https://rectangleapp.com/pro
In Move and resize windows in macOS using keyboard shortcuts or snap areas

Showing the 15 most recent of 16 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.