Skip to content
Thoughtful, detailed coverage of everything Apple for 33 years
and the TidBITS Content Network for Apple professionals

Automate Window Positioning With macOS and Apps

Don’t squander precious time manually repositioning and resizing Mac windows over and over again. You can automate such drudgery to a large degree.

macOS offers some help. You’re probably aware of Split View, which puts two windows side-by-side in full-screen mode, and Apple has built in additional capabilities. Third-party utilities give you even more window control. There are many such apps out there, and even general-purpose utilities like Keyboard Maestro can help you move windows around.

One window-positioning utility, Magnet, is a zero-configuration tool that anticipates what presets users want. It was my favorite app of this kind for a long time. Last I checked, the $1.99 app sat atop the Mac App Store’s productivity category.

Another, Moom, lets you customize your window behavior. I weaned myself off Magnet and went all-in with Moom because of its flexibility. You can buy Moom for $10 directly from its developer, Many Tricks, or through the Mac App Store.

Magnet and Moom provide a capability I have envied in Microsoft Windows and Google’s ChromeOS: “window snapping.” When you drag windows to the edges of the screen, window snapping causes them to snap into particular positions and shapes.

More on Magnet and Moom in a bit—let’s look at what macOS can do for you first.

macOS Window Positioning Capabilities

Starting with macOS 10.11 El Capitan, Apple gave us Split View. Click a window’s green full-screen button at the upper left. As you hold the button, the window shrinks, and you can drag it to the left or right side of the screen. Release the button and then click a window on the other side of the screen to add it to Split View.

In 10.15 Catalina, Apple simplified the interface. Hover the pointer over a full-screen button and a menu appears with options to tile the window to the left or the right of the display. Choose one of those options, and macOS prompts you to select one of the remaining windows to fill the rest of the screen. That menu also provides an option to make a single window full-screen. That also happens if you tile one window but no additional windows are available to fill the remaining space.

Catalina tiling options

Strangely, Apple’s help article about Split View makes no mention of a hidden feature in Catalina that gives you additional window-positioning options that don’t invoke full-screen mode.

Hover your pointer over the green button while pressing the Option key for a few seconds to see a different set of commands that let you move windows to the left or right instead of tiling them—meaning the windows are not taken full-screen but simply shifted to one half of the screen or the other.

While you’re Option-hovering, you also get a zoom button that causes a window to fill up the screen (minus the space occupied by the Dock and menu bar) without going full-screen. (In older versions of macOS, you can Option-click the full-screen button to maximize a window.)

Catalina alternate window options

I tip my hat to Scholle McFarland for including this information in her book, Take Control of Catalina, especially since so few others have noticed it.

Magnetize Your Screen Edges

Magnet gets you up and running quickly. Its menu bar presets include icons as well as text descriptors that make them instantly understandable. Magnet’s keyboard shortcuts strike me as difficult to memorize, but your brain might be up for the job.

Regardless, you can resize Mac windows as left and right halves, as top and bottom halves, as quarter spaces, as one-third or two-thirds windows, and more, with results that never go full-screen. That’s usually my preference since it keeps the Dock and menu bar visible. If you have multiple displays, Magnet also offers Next Display and Previous Display commands to easily move windows from screen to screen.

For an easier approach, use Magnet’s mouse-based window positioning, which snaps windows into several positions and sizes:

  • Dragging a window to the display’s left or right edge triggers half-screen resizing.
  • Dragging a window to the top maximizes it (but does not take it full-screen).
  • Dragging to the corners of the screen triggers top-bottom halving or quartering, depending on precisely where you position the cursor. This takes a little practice.
  • Dragging to the bottom creates one-third or two-thirds windows, depending on exactly where you put the cursor. Again, practice makes perfect.

These dragging motions conjure up preview outlines of windows—as in Windows and ChromeOS—to guide you in achieving the desired positioning.

Tweak Moom to Your Liking

Power users seeking greater window-positioning superpowers should give Moom a look. You must be willing to tinker, though, since Moom offers only a few basic features until you customize it to your needs.

You can run Moom as a Dock or menu bar app, but the latter makes the most sense because it simplifies accessing your customized windows-positioning presets.

To get started, open Moom’s preferences and click Custom. You’ll find lots of options, but I suggest you start with Move and Zoom.

You’re presented with a grid that functions as a tiny facsimile of the screen. Drag your pointer across the grid to make a square or rectangle that corresponds to a hypothetical window’s onscreen shape and position. From then on, choose that preset from the Moom menu to position and size any window to those specs. If necessary for more precise positioning, you can tweak the grid’s horizontal and vertical cell density before creating presets.

Moom grids

I’ve used this feature to create presets that center windows with a variety of widths—narrower if I am browsing the Web and wider if I am working with others in a Google Doc and need enough room for team comments on the right side. I’ve also created presets that position windows that take up two-thirds of the left or right of my screen.

Moom presets in the menu bar

You can also use Moom to reposition multiple windows at once. I often need a wider Google Chrome window to the left and a narrower one to the right. This was easy to set up. First, I manually positioned two Chrome windows exactly to my liking. Then, I chose the Save Window Layout Snapshot from the Moom menu. From then on, with two Chrome windows anywhere on the screen, I could instantly snap them into my preferred positioning. I also fashioned a preset for left and right Chrome windows of equal size.

Repositioning windows with Moom from the menu bar

Moom even supports scenarios that involve multiple apps. I often like to put a one-column Twitter client such as Tweetbot or Twitterrific on the left side of my display, with a Chrome window filling up the rest of the screen. Choosing Save Window Layout Snapshot saves this configuration in place. After that, when the Twitter client or Chrome is out of position, tidying them up is a cinch.

In addition, Moom takes over the green full-screen button in windows much the way Split View does in Catalina, but with more options in its hover menu. Hover the pointer over the full-screen button and you’ll see clickable icons for left and right halving, top and bottom halving, and maximizing.

Calling Moom from the green window button

Hold down the Option key while hovering and Moom presents you with quarter-window options. If you pine for Catalina’s default hover menu, press Command (or Command and then Option) as you hover, and its menu will appear.

Wait, there’s more! Moom offers a window “drawing” option via its hover menu. That means you can drag out a rectangle for on-the-fly resizing of your window in the proportions and positioning you want. You invoke this feature in one of two ways, depending on how you have configured Moom’s preferences:

  • In the hover menu, click the large icon that looks like a window outline (see image above). Moom displays a similar outline on your screen, and you can reposition and resize while holding down your mouse button. Release the mouse button when the outline is to your liking, and the window snaps to the rectangle you’ve drawn.
  • In the hover menu, you’ll see a hexagon-style grid. Drag your pointer across that grid to fill up any number of hexagons—the left half of the grid, the right two thirds, and so on. Moom reorients your window accordingly.

Moom hexagons

As a bonus, Moom includes window snapping via mouse dragging, but with fewer positioning options than Magnet provides. Moom provides only half-screen, quarter-screen, and maximize options.

Missing from Moom is a Magnet-style option to move windows from display to display with a keyboard shortcut.

Additional Utilities

I’ve focused on Magnet and Moom because they’re the window-resizing utilities I’ve used the most. Also, based on my research, I believe they offer the best mix of features for maximum versatility.

But I’d be remiss if I didn’t point you to a few other options.

  • Divvy ($13.99): If you just want grid-based window management à la Moom, Divvy is for you. Draw on a pop-up mini-grid to resize windows on the fly, or configure presets for standard configurations. (For those who use Windows as well as macOS, note that Divvy also exists for PCs.)
  • BetterSnapTool ($2.99): If you care mostly about window snapping, BetterSnapTool is the best choice I have seen that offers more granular control than Magnet and Moom. This app was also among the top-ranked paid apps in the Mac App Store’s productivity section last I checked.
  • BetterTouchTool ($6.50): Best known as a utility to turbocharge Apple trackpads and the Touch Bar on MacBook Pro laptops, BetterTouchTool provides window snapping, resizing, and moving controls. It’s also available via the $9.99-per-month Setapp app subscription service.
  • Rectangle. If free and open source is your jam, this Magnet-like utility might satisfy with features roughly comparable to Magnet. The publisher also offers the $7.99 Hookshot, which offers all of Rectangle’s features and adds additional window-snapping features.
  • Mosaic. If you use Setapp, you have nothing to lose by kicking the tires on Mosaic, but I found it a bit confusing.

Window Positioning Nirvana

Given the abundance of window-resizing utilities for macOS, there’s no reason to move and resize macOS windows manually all the time. If you find yourself constantly fiddling to get all your windows in just the right spot, macOS’s built-in controls or one of these utilities might be just the thing.

Some people will be satisfied with macOS’s native window-positioning features, which Apple improved in Catalina. If you want more, I recommend Moom because it offers a good mix of features along with a ton of customizability. For those with less inclination to tinker but who still wanting versatility, Magnet is a fantastic—and inexpensive—option.

Regardless, you have the tools at your fingertips to increase your Mac efficiency.

Subscribe today so you don’t miss any TidBITS articles!

Every week you’ll get tech tips, in-depth reviews, and insightful news analysis for discerning Apple users. For over 33 years, we’ve published professional, member-supported tech journalism that makes you smarter.

Registration confirmation will be emailed to you.

This site is protected by reCAPTCHA. The Google Privacy Policy and Terms of Service apply.

Comments About Automate Window Positioning With macOS and Apps

Notable Replies

  1. Moom is one of my “must have” apps.

  2. OMG. Maybe I’m the only one here, but I feel like I’ve never before heard about click and hold to get split view.

    If you’re having second thoughts while dragging, esc does not stop and leave split view mode (unlike for example cmd-shift-4). Any other method to get it to just bail in the middle of dragging?

  3. Rectangle… Awesome app! The fact that it does 90-99% of the other similar apps do, but is open open source and free, is awesome!

  4. What is missing from this very good list of apps is Stay by Cordless dog. It remembers the window positions, which is especially useful when using multiple monitor setups.

  5. Thanks, dvdweyer! Stay is something I’ve been looking for as long as I’ve used multiple monitors. It never used to bother me when I used an iMac with multiple screens, but with a laptop that I’m constantly plugging/unplugging it begins to be a hassle when windows move from one screen to the other all the time.

  6. GV

    The only thing I really want is for windows in a newly-opened app to be centered vs. at the left-side of the desktop. What’s the least expensive way to accomplish what should be a built-in OS default setting?

    With so many apps only available on the App Store, being able to demo before buying is becoming a thing of the past. . .

  7. I have no idea what might be causing that for you, but it certainly is not and never has been the default position for any app I’ve ever used. Sounds like you must have somehow enabled split-screen with an invisible something on the right side?

  8. I have seen similar behavior. You can get Rectangle. It will let you define a key combo to shift any window to the center. It’s free.

  9. I really don’t understand why Apple doesn’t let you set a default size for any new window you open; at least they let chose the View you prefer. In earlier versions of the OS there were some kludgy routines you could do and the windows would behave that way for awhile.

    Currently opening a new Finder window on my iMac results in a tiny little box that’s smaller than the files it contains. With Moom I still can’t do what I want directly BUT I can assign a key combination to invoke my choice, assign it to a button on my trackball and resize it that way.

    It’s the best (and quickest) solution I’ve found to date.

  10. Does Magnet or Moom (or any of the other apps) reproduce the MacOS 9 ability of minimizing windows to their title bar? I really miss that function … Thanks :slight_smile:

  11. I have suffered from that annoying problem for about as long as OS X has existed. I even started a thread on the topic (I’d link to it, but I think it got lost when the forum moved to Discourse) but I never really solved it. No matter what pref I deleted or which Finder workflow we tried, it never held on to my preferred settings. And nuking my entire user home just to fix this issue was not a viable option.

    Ultimately, the best I could do was create an AppleScript (thread here) which I can invoke to get the Finder window set to the dimensions and view I want. But every Finder restart I need to run it again. Sigh. ;)

  12. The way around your problem with the small window, I think, in the Finder at least, it to size a window the way you want it, then open a new Finder window (Command-N) and adjust it to the same size, laying it over the top of the original. Then switch to the original window and close it. Then close the second window, and open a new Finder window. It should be the same size as your sample windows. This might work with other apps, like Word, if those windows are small, too. But I haven’t tried it. I’ve run into the small window problem rarely, but I have seen it before.

  13. I’ve been using Finder Window Manager for a long time. It offers a similar kind of customization to Zoom. Unfortunately, it is not yet 64bit. The developer’s web site promises updates and improvements, but there is no timeline specified. FWM still works in Mojave, fortunately, as many old apps do not. In any case, I’m in no hurry to migrate to Catalina, which kills off way too many old hands, including most of Adobe’s CS apps. I don’t think I’m alone in this. Many people have long since tired of the expensive Adobe upgrade policies and have laid back with CS5 and 6, and some even older versions. The ever more popular subscription model is another disincentive—as is the Apple App Store model with no trial versions. Some of us are old enough to remember the golden age of shareware. Even Adobe used it for a year with the beta version of Lightroom, which gave them a huge head start over Apple and Aperture—from which Aperture never recovered. By the time Apple lowered the price and offered a trial period for Aperture, it was too little too late. Some app developers still offer a trial period, but they now seem to be a distinct minority. Many changes don’t necessarily improve things; they just move the deck chairs around. So I’m hoping that Finder Window Manager isn’t changed too much, and that it will use-or adapt-the old app’s preferences so that I don’t have to recreate all my window sets. By the way, I’ve never cared for the window snapping apps. I don’t like my windows to sit at the edge of the screen, or fill up half the screen, and a quarter of the screen is too small, in most cases. I use screen edges to see the desktop, and the edges of other app’s windows, which I can bring forward with a click. So, that’s my 2¢, or maybe 3. :wink:

  14. GV

    Al, it happens with Preview. . . Split-screen is not enabled (I would have noticed that). I would like new windows to open in the center of the desktop without having to resort to a keystroke or dragging the window.

  15. GV

    Simon, thanks for the suggestion. I’d prefer an auto-centering preference but a keystroke combo is better than nothing. . . I just installed Rectangle and it does the trick!

  16. I hear you. I realize it’s a workaround at best. At least it’s free. Considering how much the tool does (and does well) I’m surprised it’s free. Nice dev. :)

  17. Try FinderMinder from Irradiated Software. It’s free. unfortunately, it’s for the Finder only, but it would solve your Finder window issue.

  18. I don’t remember what I paid for Keyboard Maestro, but whatever it was, it was worth it just for the power it gives me to move windows to where I like them to be. Apps launch with windows in the position I like, and I’ve got keyboard shortcuts for moving them when I need to.

    I have plenty of other automations set up in KM, but I use my window-management stuff numerous times a day.

  19. I’ve used Zooom/2 for a long time on my iMac, and it still works, but it is no longer supported (or developed, or available for download…). Does anyone know of any replacements for it? The thing it offered that none of these programs seem to offer is that I can hold down a bunch of keys and either move or resize whatever window the mouse cursor is over – not to preset positions or sizes, but just like if I was grabbing the resize area. But I can do this for any window, even if it’s not the front most, and I don’t have to be anywhere near the resize area…

  20. Well I had a try with STAY,… which works well… B U T… (y’knew that was coming)… Does anyone know how to make it respect macos SPACES?..

    I put a bunch of open TextEdit windows on one screen,… then saved positions. If I move window to a difference spaces and then try to restore, it does NOT move that window back to the space where/when I told STAY to record. arghh…

    Is there an alternative solution, to STAY, that respects macos SPACES?

  21. Looking to achieve the same, did you ever figure out a solution?

  22. Count me among the uninformed. I never knew this feature existed in macOS.

  23. Look into Moom. In the App Store. It lets you position multiple windows where you want them and recall that position with a click on the green expand button.

    I like getting a full screen window with the menu bar on one click.

    Check it out.

  24. I was using homegrown Keyboard Maestro macros for this.

    Then I switched to Moom instead, for years.

    Now, someone online has created a set of Keyboard Maestro macros for download, and I’m back to using that for hotkeys. I still use the other features of Moom.

    This is the site I downloaded from: Window Magic with Keyboard Maestro - Cocktails & Coffee

  25. MacSparky posted an introductory video on Moom:

Join the discussion in the TidBITS Discourse forum


Avatar for julio Avatar for Simon Avatar for mojo Avatar for alvarnell Avatar for peter6 Avatar for nello Avatar for jeff5 Avatar for GraphicMac Avatar for anthony.craine Avatar for ryoichi Avatar for foo Avatar for pukku Avatar for fogcitynative Avatar for drc Avatar for dvdweyer Avatar for antoine1 Avatar for koppenhoefer Avatar for david_blanchard Avatar for jonathanlaniado