179

In Windows 7, we can easily arrange two windows with these shortcuts: Option (Alt) ⌥ + maximizes the window to the left side of the screen, and Option (Alt) ⌥ + maximizes the window to the right side of the screen.

I'm using a 27" iMac now, and I'd really like to do this. Does Mac OS X have this functionality?

2

21 Answers 21

65

I use BTT (Better Touch Tool) which includes window snapping, as well as a whole host of other useful features such as extra multitouch gestures, and button management.

You can use as much or as little as you want, but window snapping is on by default and just means you drag an application to the top to maximise it, left to align and fill the left half, and to the right for the right.

EDIT: This is called BST (Better Snap Tool) and it is no longer free. El Capitan has an implemented feature (press green button until you can drop it to the side) or check other free tools like Spectacle

Update: As of Feb 20, 2016 BST is $2.99 USD.

1
  • 2
    No need for that in 2021. See displayName's answer. BUT: to get exact alternative of Windows 7 functionality, you have to use 'Place to left part of screen' or something like that - is shows up, when you press and hold green button, and press Option key while holding
    – Roman
    Commented Feb 16, 2021 at 6:00
150

Original Answer (Update below):

Apple has provided this functionality as part of its OS X El Capitan. Here are the steps:

  1. Click and hold on the green maximize button of an active window (for example, a Safari window);
  2. When the window shrinks slightly and the background becomes highlighted, you’re about to enter Split View, while continuing to hold the green button drag the active window into either the left or right panel to place it full screen there;
  3. As soon as you place the first window into the Split View panel, the other side of the screen turns into a mini-Expose much like Mission Control, simply click the window tile you want to open into Split View for the other side here to immediately send it side by side into Split Full Screen Mode.

The answer has been taken from osxdaily.com website's page.


Update:

Many people commented that they wish there was a shortcut for it. I figured a way to create a shortcut for that from another answer on AskDifferent which I cannot find the link to. This is how:

  1. Open System Preferences;
  2. Go to 'Keyboard' settings;
  3. Go to 'Shortcuts' tab;
  4. In the left pane, select 'App Shortcuts';
    1. In this section you can add app specific shortcuts, as well as shortcuts that you want available for all apps.
  5. Click on the '+' sign below right pane to add a new shortcut;
  6. A new drop down will open. In this drop-down:
    1. In the 'Application:' keep it for 'All Applications';
    2. In the 'Menu Title:' type 'Tile Window to Right of Screen'. Better that you copy-paste it because it has to match letter by letter;
    3. In the 'Keyboard Shortcut:' press the keys you want to use as shortcut for tiling an application window to the right. On my machine, I've set it to .
    4. Repeat the same for tiling to left by putting 'Tile Window to Left of Screen' in the 'Menu Title:' and adding your desired keys for left-tiling shortcut.

You should now have the shortcuts available for any application window that supports tiling. Now, you can press your shortcut keys to tile the first window to left or right. Then the other side will turn into a mini-Expose from which you can select the second window using your mouse.

Add shortcut to 'Tile Window to Right of Screen'


I have a dual monitor setup. So other than the one listed above, I have also set the shortcut to move a window to another monitor. The 'Menu Title's are:

1. "Move to Built-in Retina Display", with shortcut ;

2. "Move to LG UltraFine", with shortcut ;

To remember the shortcuts, notice that all they keys, are next to each other. All you do is use arrow keys differently. Further, moving to another monitor has an extra key in the shortcut, while putting the windows in split view is on the same monitor, therefore it has one less key.

Hint:

The shortcut name depends on the MacOS system language, e.g.:

english: 'Tile Window to Left of Screen'

german : 'Fenster auf der linken Bildschirmseite anordnen'

or a different title: 'Fenster auf die linke Seite des Bildschirms bewegen'

Phrases for left / right can be found on the green "full screen" button:

enter image description here

11
  • 3
    Awesome but I just wish there was a shortcut for it Commented Jan 30, 2020 at 7:12
  • 3
    @peterchaula: There is now. See the update. Commented Jun 16, 2020 at 13:01
  • 7
    I was trying several options for which keys best to use for this shortcut since ⎇⌘ is already used by e.g. Firefox. As it turns out Rectangle (see other answers) found a good solution: ⌃⎇ Edit: this is basically what this answer says
    – Benjamin
    Commented Nov 26, 2020 at 9:26
  • 1
    Is there a way to prevent it from maximizing in a new desktop? I want to be able to tile in the current desktop and not create a new one
    – u84six
    Commented May 14, 2021 at 13:38
  • 2
    From my side, I've used the last option (using control ⌃) since the former collides with VSCode move between tabs :) thanks for this Commented Jan 10, 2022 at 14:33
42

My favorite is Spectacle

UPD: Spectacle users have recommended Rectangle as an open source alternative.

Out of the box your shortcuts works exactly as you describe in your question.

⌘ ⌥ ← left half side of the screen, and ⌘ ⌥ → for the right.

It also supports assigning a shortcut for moving a window to another screen:

enter image description here


UPDATE:

https://github.com/eczarny/spectacle#important-note

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.


2
28

With macOS Catalina you can do this with shortcut keys

Here’s how:

  1. Go to System Preferences → Keyboard → Shortcuts → App Shortcuts
  2. Hit the plus button and add the Menu Title exactly as it appears along with whichever shortcuts you want:

    • Tile Window to Left of Screen and Tile Window to Right of Screen (fullscreen two windows side by side as a “space”)
    • Move Window to Left Side of Screen and Move Window to Right Side of Screen (move the window to fill up the left or right half of the screen (these menu items are shown when the alt key is held in the Window menu)
    • Enter Full Screen (performs the macOS full screen as a “space”— the default shortcut is cmd+ctrl+f, but you can pick your own here)
    • Zoom (executes a “maximize” for some apps)

The keyboard shortcut recorder there will let you pick any shortcut, but if they conflict with a shortcut that’s built into macOS then it won’t work. Some easy ones I chose were “ctrl + alt + ←” and “ctrl + alt + →” because they are pretty unlikely to conflict with anything else. Avoid the shift key as a modifier as it can make the animations go in slow motion.

Not all apps have these menu items in their “Window” menu, so those apps won’t respond to these keyboard shortcuts

Answer taken from https://medium.com/ryan-hanson/going-without-a-3rd-party-window-manager-in-macos-catalina-4bd270b29245

3
  • 3
    Literally the only answer on the entire site that provides the Windows equivalent Commented Jun 21, 2021 at 18:29
  • Oh.. now I realize why my shortcuts have slow animations - the shift key. Commented Jul 14, 2021 at 18:56
  • I was missing the "Move Window to" commands (didn't saw them in the UI and your answer help me find them) to set a shortcut.
    – shlomiLan
    Commented Dec 19, 2021 at 11:35
19

Another tool is Moom (5$ in the Apple Store): you can divide the screen in a number of squares and define keyboard shortcut to position the windows. Several standard placements are already defined by default (right/left half, bottom/top half, ...)

Moom screenshot
I never used anything else (I'm very happy with Moom) but DoublePane was mentioned several time on AskDifferent and it seems that several other alternatives exist.

0
9

There are a number of free alternatives for that work well. These include :

There are many alternative window sizing utilities freely available.

8

Cinch

Cinch brings the window management of Windows 7 to the Mac with a simple and easy to use application.

cinch: windows 7 window management for the Mac

0
7

I’ve used SizeUp.app before, which allows you to press e.g. ++Ctrl+ to make the active window fill the left half of the screen, and ++Ctrl+ to make it fill the right half.

It has lots of other options as well:

SizeUp.app


If you prefer to use the mouse instead of the keyboard, you could use Cinch.app by the same authors. It allows you to drag any window to the left or right side of the screen to make it fill that half of the screen.

Both these apps aren’t free (although they’re very cheap), but they have free trials. Check it out!

1
  • Why the downvote? Commented May 5, 2012 at 18:14
6

Yet another tool suggestion: ShiftIt. Free, actively under development, completely open source, lightweight, very easy to use, and keeps a low profile in the top menu bar.

4

I use these AppleScripts:

try
    tell application "Finder"
        set b to bounds of window of desktop
    end tell
    try
        tell application (path to frontmost application as text)
            set bounds of window 1 to {0, 22, (item 3 of b) / 2, item 4 of b}
        end tell
    on error
        tell application "System Events" to tell window 1 of (process 1 where frontmost is true)
            set position to {0, 22}
            set size to {(item 3 of b) / 2, (item 4 of b) - 22}
        end tell
    end try
end try
try
    tell application "Finder"
        set b to bounds of window of desktop
    end tell
    try
        tell application (path to frontmost application as text)
            set bounds of window 1 to {((item 3 of b) / 2), 22, item 3 of b, item 4 of b}
        end tell
    on error
        tell application "System Events" to tell window 1 of (process 1 where frontmost is true)
            set position to {(item 3 of b) / 2, 22}
            set size to {(item 3 of b) / 2, (item 4 of b) - 22}
        end tell
    end try
end try

The scripts first try to tell the application to change the bounds property and then tell System Events to change the position and size properties. Using System Events (or the accessibility API) works with more applications, but it can also appear a bit glitchy because the position and size are not changed at the same time. Other applications like Slate always use accessibility API.

1
  • > "Release the button, then click another window to begin using both windows side by side." Is it possible to avoid clicking and select a second app in the tiling split programmatically? Say I want "Safari" to the left and "Google Chrome" on the right? Commented Oct 10 at 19:44
4

Apple has leveled up the native window manager settings and functionality and many people don't take full advantage of (or know about) the new implementations of mission control, side by side split view and full screen mode.

Enter Split View

  1. Hold down the full-screen button in the upper-left corner of a window.
  2. As you hold the button, the window shrinks and you can drag it to the left or right side of the screen.
  3. Release the button, then click another window to begin using both windows side by side.

enter image description here

Divvy would be the software I recommend that is the most Mac like in design and implementation, yet it hits all the functionality most Windows 7 users prefer or are used to having. If you want to add a tool just for this, get Divvy.

Divvy advanced features

The features I like about Divvy are:

  • vertical and horizontal divisions.
  • automated setup with
  • variable grid spacing
  • extra padding for the edges of the screen
  • support a developer that makes something beautiful and useful and powerful
  • works within the Mac App Store updates, licensing and sandbox protections
1
  • 1
    I've used SizeUp for many years, but have recently switched to Divvy because of its simple way of using custom sized windows. SizeUp supports customization via AppleScript, but Divvy's ability to make that easier to use gives it the edge over SizeUp.
    – Anil
    Commented May 26, 2020 at 1:50
4

System-Preferences -> Keyboard -> Shortcuts: App Shortcuts (+) (Applications/Utilities/Terminal.app) Menu Title: Move Window to Left of Screen Shortcut: ⌃←

enter image description here

4

Rectangle is what I was looking for. It has snap to edge and is free. I needed this only, nothing else. This app has a lot more, so be sure to check it out.

1
3

I just discovered Magnet available on the App store for $7.99 (price updated f2022) that provides the ability to "snap" windows to corners, right, left, etc.

enter image description here

So far, it works as advertised. I am not affiliated with the app or developer. Just found it and find it useful.

2

There's also BetterSnapTool, made by the same developer as BetterTouchTool. It has more features than BetterTouchTool, and it's in the Mac App Store for $1.99. Yes, it's a bit more expensive than free, but I personally prefer BetterSnapTool (and you're supporting the developer; very important).

2

Unlike other answers, you don't need an app to do it. Holding the option button, click on the green icon on the top left.

enter image description here

You will see the option to Tile Window to Left of the screen.

If you don't hold the option, then spaces will be divided.

0

I have used BetterTouchTool for a long time, but found it sometimes needed to be restarted because it stops working.

I have also used Divvy, and am now switching to Divvy-only.

My personal setup is to use the tilt left/right scroll wheel buttons on a Logitech mouse to snap the windows to left/right halves of the screen. Clicking the scroll wheel button maximizes a window. Divvy doesn't allow mouse shortcuts AFAIK, so I used the Logitech control center to make those buttons trigger the shortcuts I configured in Divvy. If anyone is using a similar mouse maybe this is good info; Divvy is a great application either way.

0

Try using El Capitain's split screen mode

1
  • 1
    So useless (I mean the feature not the answer). OS X has the most useless window management - maybe it is "ok" for standard users but for those who use it for work and need to be efficient, it is disaster if you don't use external apps. I don't get it, they must pay thousands and thousands $ for UX designers and still they got so huge glitches like this.
    – Srneczek
    Commented Jan 25, 2016 at 10:20
0

By default, you can use the (green) maximize button on the window bar as follows:

  1. Click and hold the green maximize window button,you will notice a slight change in screen size.
  2. Now drag the window to the left or right hand side.
0

I'm using this with Monterey, despite is "Looking for a new maintainer" is a recommended alternative

https://github.com/fikovnik/ShiftIt

enter image description here

2
  • Might be worth mentioning that "This project is looking for a new maintainer. Until that transition is completed, there will likely not be further development on this project."
    – nohillside
    Commented Jun 23, 2022 at 18:17
  • @nohillside you're right, but it's still a good alternative. Commented Jun 24, 2022 at 14:06
0

Window tiling is now available in macOS Sequoia 15 or later.

Mac window tiling icons & keyboard shortcuts

Not only can you now move and resize the active window with system default shortcuts, you can also now move and arrange multiple windows with system default shortcuts.

The link above also provides the exact names of the Menu commands that you can use to customize them as noted by @displayName's answer.

Note that the Menu commands have changed names, so when you update to Sequoia, some of your custom tiling commands will have broken if you were following @displayName's answer with a previous macOS.

Note also that default commands in some applications, such as Chrome, conflict with these new system defaults.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .