HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
eczarny
spectacle
Objective-C2012–2026
eczarny / spectacle · Archived

spectacle

Spectacle allows you to organize your windows without using a mouse.

38Distinct people
41Mentions
1Explicit recommenders
13.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Spectacle allows you to organize your windows without using a mouse.

GitHub

Where it is used

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

What people are saying

For macOS window control via keyboard I recommend Spectacle (https://github.com/eczarny/spectacle). Among other options, the app can position windows by thirds which really…

edcoffin used a recommendation phrase. One indexed comment matches. 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 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 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 year41 dated mentions

Observed mentions: 2012-06-03 11:20:48 UTC to 2026-04-09 20:18:48 UTC.

024682012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 8 mentions; 3 submissions, 5 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 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): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 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
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC101
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC000
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC413
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC202
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC615
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC303
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC835
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC404
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC404
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
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 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

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

Read the project’s introduction
Spectacle Easily organize windows without using a mouse. Important Note This project is not being actively maintained. Unfortunately, after almost a decade of on-and-off development I can no longer dedicate the time needed to be a responsible maintainer of this project. Spectacle will remain available for download but please use at your own risk. The source code will continue to be free and open to anyone, so feel free to make Spectacle your own. Thanks to all the folks that have made Spectacle the first app they install a new Mac! Spectacle users have recommended Rectangle as an open source alternative. System requirements Spectacle 0.8.6 is the last version to support Mac OS X 10.7; future releases will only support 10.9 or greater. Folks wishing to stay on 10.7 should download 0.8.6. Those looking for a version of Spectacle that supports 10.6 can still download 0.7. Keyboard Shortcuts Spectacle makes use of several keyboard shortcuts that trigger specific window actions. A window action is nothing more than a command that tells Spectacle how to change the size and/or position of a particular window. A keyboard shortcut consists of one or more modifier keys paired with a character key. The common modifier keys Spectacle takes advantage of are: Symbol Key ⌘ Command Key ⌃ Control Key ⌥ Option Key ⇧ Shift Key The default keyboard shortcuts can be changed at any time. Use new key combinations to trigger window actions, or clear particular keyboard shortcuts to disable window actions entirely. Basic window actions To move a window to the center of the screen use the ⌥⌘C keyboard shortcut. Centered windows will not have their size altered. Maximize a window using the ⌥⌘F shortcut. Windows can be moved to a number of predefined regions of the screen: Move to the left half — ⌥⌘← Move to the right half — ⌥⌘→ Move to the top half — ⌥⌘↑ Move to the bottom half — ⌥⌘↓ Move to the upper left — ⌃⌘← Move to the lower left — ⌃⇧⌘← Move to the upper right — ⌃⌘→ Move to the lower right — ⌃⇧⌘→ Windows may also be resized between thirds using any of the shortcuts above. For example, to have a window resized between 1/3 and 2/3 of the left region of the screen simply activate the left half ⌥⌘← keyboard shortcut more than once. Each time the shortcut is activated Spectacle will move the window between 1/3, 2/3, and back to 1/2 of the left side of the screen. This feature also applies to the upper left, lower left, upper right, and lower right shortcuts. Spectacle can also move windows between horizontal and vertical thirds of the screen. The ⌃⌥→ keyboard shortcut will move a window to the next third of the screen, starting with the horizontal third region on the left of the screen. ⌃⌥← will move a window to the previous third of the screen. Resizing a window is just as easy. To make a window a bit larger use the ⌃⌥⇧→ keyboard shortcut; ⌃⌥⇧← can be used to make a window smaller. Spectacle will always attempt to maintain contact between the edges of a window and the edges of the screen when resizing. Multiple displays The ⌃⌥⌘→ keyboard shortcut will move a window to the next available display. ⌃⌥⌘← can be used to move a window to the previous display. Window action history Spectacle remembers where every window was prior to executing a window action. To undo a window action use the ⌥⌘Z keyboard shortcut. Use the ⌥⇧⌘Z shortcut to redo the window action once again. Common Issues Spectacle is requesting access to use accessibility features Apple's OS X Accessibility Protocol makes Spectacle possible. This protocol allows assistive applications to drive the user interface of another application running in OS X. In order to do its job Spectacle must be granted access to use these accessibility features. Instructions to do so will be displayed if Spectacle determines it does not have sufficient privileges. Spectacle does not resize a particular window as expected OS X allows applications to place constraints on the size of its windows. This allows application developers to design their user interfaces without needing to worry about supporting every possible window dimension. In these cases Spectacle will not be able to resize those windows to fit into the exact dimensions intended by the shortcut used. As an example suppose a display has a 2880x1800 resolution and a window is being resized to fit the left half of the display. If the window has specified a minimum allowable width of 1600 pixels Spectacle will not be able to resize the window to fit the expected 1440 pixels. The constraints placed on windows will always be respected despite leading to potentially unexpected results; in this example Spectacle will resize the window's width to 1600 pixels. Spectacle behaves strangely with Terminal windows Terminal (and other terminal emulation applications like iTerm 2) place constraints on how windows are resized so entire rows and columns are always visible. This behavior works great since it guarantees no rows or columns are truncated. Unfortunately it does mean that Spectacle needs to do some extra work to make these windows fit. To work around the limitations imposed on Terminal windows Spectacle will first try to resize a window to match the desired dimensions. If a window cannot be resized to fit Spectacle will immediately try to make the window a little smaller. This process is repeated until the window can be made to fit with its constraints still in place. The result is a window that is centered within the desired dimensions at the cost of a slightly jittery experience. Spectacle does not work with all applications Most applications built with the Cocoa frameworks can be readily manipulated via the OS X Accessibility Protocol; allowing Spectacle to interact with nearly every window it encounters. Unfortunately this is not always the case. Spectacle will be unable to manipulate the windows of applications that build their user interfaces in unexpected ways. Building and running Spectacle us
Read the full README on GitHub

What Hacker News says

41 sources
FYI -- on my MBP I use a program called Spectacle to snap windows around, and I now have no complaints relative to what you can do on Windows. Development on Spectacle ceased[1] and it looks like the community may have rallied around an open-source program called Rectangle, which is open source. At least, judging from this single Reddit thread lol: https://www.reddit.com/r/osx/comments/kazpcn/spectacle_alter... [1] Although when I search for it now, I see an update from 2023 on softonic? Although the original dev's github repo for it hasn't been updated in years. https://github.com/eczarny/spectacle
In Over the edge: The use of design tactics to undermine browser choice
> warning about Mac is this: Window management is utter garbage. Maximizing is actively discouraged. Tiling left / right etc? Doesn't exist. I've been using Spectacle (https://github.com/eczarny/spectacle/) which is technically unsupported but seems work fine on an M1 mac and provides all the neat tiling left/right/up-down windows 8 functionality via the keyboard. This is the first thing I install on a new work computer along with Amphetamine.
In No Start Menu for You
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
I think everyone is aware that it's a different paradigm. It was introduced in the 80s as a way to have floating windows for the application and reuse the same tool windows for e.g. Photoshop without a parent window. But now even Photoshop has a parenting window. Almost everyone just maximises all their applications since Mac window management doesn't work. And everyone else has to install Spectacle or Rectangle[1] I am attacking the paradigm. It has had its time. It is done. It should leave. [1] https://github.com/eczarny/spectacle https://github.com/rxhanson/Rectangle
In Hello system, a FreeBSD-based OS designed to resemble Mac
So long as we are sharing.. looking through my shell history: organize windows without using a mouse. https://github.com/eczarny/spectacle stop accidentally navigating back in chrome with the touchpad. defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool FALSE Something about enabling darkmode? defaults write com.google.inputmethod.Japanese.Tool.DictionaryTool NSRequiresAquaSystemAppearance 0 show hidden files in finder? defaults write com.apple.finder AppleShowAllFiles YES Disable attention seeking app bouncing animation, for those of us sensitive to these things.. defaults write com.apple.dock no-bouncing -bool TRUE If you run dnsmasq, you can add addn-hosts=/etc/dnsmasq-hosts-blocking/ to the your dnsmasq.conf. In that folder you can put files from https://github.com/unixsheikh/dnsmasq-blacklis
Read the rest
t and https://github.com/adversarialtools/apple-telemetry to try and block apple and others telemetry .. but apple just seems to get around it by using, x.apple.com.akadns.net or x.apple-dns.net
In Hard to discover tips and apps for macOS

Showing the 15 most recent of 41 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.