160

I just checked http://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts but the following "Window management" entries are blank for Mac OS X:

  • Move the focused window
  • Resize the focused window
  • Maximize the focused window

Are there really no built in keyboard shortcuts for these in OS X? I do this stuff all the time with GNOME under Linux.

Philip Durbin
  • 3,407
  • 3
  • 20
  • 17

16 Answers16

127

Spectacle hasn't been mentioned yet. "Move and resize your windows with ease." -- http://spectacleapp.com

It's open source: https://github.com/eczarny/spectacle

Update March 17, 2020

Spectacle author does not maintain the project anymore.

Macos provided an option to move windows left/right. See the answer from @afonsoduarte

Philip Durbin
  • 3,407
  • 3
  • 20
  • 17
  • 9
    Nice - supports behaviour similar to "windows key" + "arrow" on Win7. Just what I was after. – Frederik Feb 13 '14 at 14:54
  • Exactly what I was looking for, simple, well-designed, and free! – Jeff Jul 25 '14 at 03:26
  • 2
    Yes thanks again... I am new to MacOsX and I just think this should be included in the OS natively... why the green button does not make the same effect. – рüффп Mar 15 '15 at 15:13
  • Spectacle is really great, I've been using it for some time now, seamlessly. The default shortcuts make sense and are easily learned, including the ones for multi monitor setups :) – Michahell Nov 30 '15 at 13:03
  • This really made my day - nice thing to stumble upon on a monday after vacation :-) – snemarch Jan 18 '16 at 10:07
  • 1
    @ruffp I suspect at this point it is because Apple would have to concede that Windows' behaviour was better all along. Similar situation to the one-button mouse. – Timmmm Jan 04 '17 at 09:34
  • Witch ( https://manytricks.com/witch/ ) is also a good alternative. – Zeth May 30 '17 at 13:12
  • 10
    Spectacle being not maintained anymore, the open-source alternative is now [Rectangle](https://github.com/rxhanson/Rectangle). Works well on MacOS 10.15! – dbernard Dec 11 '19 at 14:20
  • great solution, but missing one thing... hotkey to click-n-drag to resize a window. I'm looking for something like using the "Alt" key in XFCE4. – MikeyE Apr 18 '20 at 23:35
  • @dbernard, Rectangle looks like it's designed well. What kind of security permissions are required in order to use Rectangle? – AdamHurwitz Jul 26 '21 at 18:32
  • @dbernard tried out rectangle. working great – Saif Nov 08 '22 at 07:46
56

macOS Catalina (10.15) now has commands to:

  • tile windows left and right of screen (this enters fullscreen mode with 2 app side by side)
  • enter fullscreen mode
  • move windows to left and right side of screen
  • zoom (maximise window)

You can select them by hovering the green full-screen button in the upper-left corner of a window (press the Option key for more options).

macOS Catalina window tiling options

To create shortcuts for these commands you can do the following:

  1. go to System Preferences > Keyboard > Shortcuts
  2. select App Shortcuts
  3. press the + sign to create a new shortcut
  4. in Menu Title enter the title of the option as it appears when hover the green full-screen button, for example: Move Window to Left Side of Screen
  5. pick a keyboard shortcut, for example: ⌃⌘←
afonsoduarte
  • 661
  • 5
  • 2
  • 2
    Ah! I hadn’t realized you could make shortcuts for these. (I only just now discovered that they are in the menu bar under Window, thanks to your comment.) – Joel Farris Dec 03 '20 at 23:16
  • 1
    Has anyone been able to get the shortcuts to work with Firefox browser windows? I'm using v90.0.2. Manually selecting the move and tile commands works. However, the commands do not work when using the assigned Shortcuts. – AdamHurwitz Jul 26 '21 at 18:53
  • Same problem with PhpStorm (and probably all JetBrains IDEs. – Bevan Aug 31 '21 at 06:44
  • 1
    `^+Cmd+f` is per default the Fullscreen, not the zoom. – Timo Mar 30 '22 at 18:44
16

Not built in, but you can install 3rd party software.

http://www.macupdate.com/info.php/id/26411/mercurymover

http://www.macupdate.com/info.php/id/30591/right-zoom

ridogi
  • 2,947
  • 1
  • 19
  • 24
  • MercuryMover seems like what I was looking for. Thanks. Too bad it isn't built in. – Philip Durbin Nov 11 '09 at 06:33
  • +1 to MercuryMover. I've tried Optimal Layout, Size Up and ShiftIt. MercuryMover is the best for me because it's the quickest way to move/resize windows. Plus, you can make your own shortcuts for resizing to a particular size. – Eddy Aug 18 '12 at 12:13
14

I haven't tested in other versions, but in OS X 10.9 (Mavericks), you can use the Voice Over Utility to move and resize windows.

  1. Enable Voice Over in the Accessibility control panel.
  2. Click "Open Voice Over Uitlity"
  3. Click "Commanders" in the left panel.
  4. Select "keyboard"
  5. Select "enable keyboard commander"
  6. Add a new commander.
  7. Specify any keyboard key not already in use.
  8. Choose the command: Size and Position -> Start Moving Window
  9. Select with window to be moved
  10. Hold down the right option key, and press the key selected in 7.
  11. Move the window with the cursor keys.
FishesCycle
  • 241
  • 2
  • 4
  • Clunky, but very helpful to understand why a Java window was going missing: it dislikes being moved to my other monitor. Grr. – android.weasel Mar 03 '15 at 13:30
  • Doesn't seem to work for XQuartz... – krs013 Apr 21 '16 at 02:11
  • Thanks! This worked perfectly in OS X 10.11.5 (El Capitan). I recently installed a new program and it started up with the title bar stuck past the top of my screen... would've been really annoying to have to install _another_ program just to fix it :) – kayge Jul 14 '16 at 22:11
12

The best answer is to create a keyboard shortcut in System Preferences > Keyboard > Shortcuts > App Shortcuts.

Then add Chrome or whichever and in the name exact as it appears enter: Zoom.

This is the critical part...

The shortcut has to include the Shift key. When you want to fully maximize the window using the keyboard and mouse you can do so by holding down the Shift key and clicking the Green Maximize/+ button in the browser toolbar.

I assigned my shortcut to be Command+Shift+Return and it works like a charm.

System Preferences > Keyboard > Shortcuts > App Shortcuts

enter image description here

1''
  • 221
  • 2
  • 3
9

Personally, I prefer Size Up - it has a huge array of options for auto resizing with a single keypress including quarter screen, maximise and moving windows between monitors and even Spaces.

http://www.irradiatedsoftware.com/sizeup/

John Gallagher
  • 223
  • 2
  • 6
7

Install rectangle, it's another open source alternative to spectacle (which is no longer maintained)

brew install --cask rectangle

Then press ^

The application looks like

enter image description here

Mark
  • 480
  • 1
  • 6
  • 11
5

Following along with the idea of windowflow - check out it's parent project Optimal Layout. I tried sizeup for a while and was actually trying to find a replacement for it when I found Optimal Layout.

It is by far the best OSX keyboard based window manipulation app I've seen yet! Rocks...

http://most-advantageous.com/optimal-layout/

Bobby B
  • 151
  • 1
  • 1
  • I agree, it ads one functionality which is highly desirable: switch to a particular window in an application. Where Command Tab allows you only to switch to a particular App, Optimal Layout's Alt Tab gives you a list of windows grouped by application – Micha Roon Feb 11 '17 at 14:59
  • @DrGorb you can also use built-in CMD+` to switch between application window instances – Mark J Miller Oct 13 '17 at 15:53
3

With VoiceOver enabled (Command-F5), you can use the move window keyboard shortcut.

  • Control-Option-Accent (`) move window with arrow keys (or using Shift-Arrow to move just a bit)
  • Shift-Control-Option-Accent (`) displays the Window Resize Options menu

Using the Window Resize Options menu, you can move the window to sections of the screen (e.g., centre screen, top left etc.).

TimD
  • 183
  • 7
  • Now if only I could find a way to disable actual voicing over... – alexeit May 18 '16 at 04:04
  • 2
    alexeit To mute VoiceOver while it's enabled, open the VoiceOver Utility app located in your Utilities folder (Applications > Utilities), then from the utility categories menu select Speech, and tick the Mute Speech checkbox. – TimD Jun 04 '16 at 11:47
3

I've tried the other third party apps here and have found Moom to be the best:

http://manytricks.com/moom/

Russell Davis
  • 1,322
  • 11
  • 14
3

If you consider yourself a "hacker" you may consider Slate. Slate is like Bettertouch or Sizeup on steroids. Here is the github repo.

There is a learning curve but it is very powerful and customizable. There is a great write-up on how to set up and use it.

1

Go in/out of Fullscreen on Mac OSX defaults to

Command + Ctrl + F

(Ended up here searching for going to Fullscreen with no luck)

Some apps auto go to full screen when opening but don't show the maximize options bar e.g. IntelliJ 2020.2, which is annoying) No bar :(

Also, I didn't have the shortcut visible when hovering on other apps options bar No shortcuts :(

I.G. Pascual
  • 111
  • 3
1

See the following AppleScript for the popular (and free) Mac OS X keyboard/mouse shortcut program QuickSilver that will get you a keyboard shortcut for the green zoom button. When you install that and use it with Quicksilver, you'll be able to customize your keyboard shortcut.

tell application "System Events"
    if UI elements enabled then
        set FrontApplication to (get name of every process whose frontmost is true) as string
        tell process FrontApplication
            click button 2 of window 1
            --button 2 is the green "zoom" button for all applications
            --window 1 is always the frontmost window.
        end tell
    else
        tell application "System Preferences"
            activate
            set current pane to pane "com.apple.preference.universalaccess"
            display dialog "UI element scripting is not enabled. Check 'Enable access for assistive devices'"
        end tell
    end if
end tell

Source: http://snippets.dzone.com/posts/show/1026

Indrek
  • 24,204
  • 14
  • 90
  • 93
Nick McCurdy
  • 430
  • 4
  • 18
1

I have a utility called BetterSnapTool running on my OSX 10.9.4 MacBook. This is a very nice tool that mimics the behavior on Windows 7 of snapping a window to the top, left, or right sides if you drag a window to one of these sides with your mouse. Within BetterSnapTool there is an "Extras" tab and on this panel is an option for "Move Windows". Here, I've chosen CTL and OPT and now when I depress these keys I can move any window under my mouse cursor. BetterSnapTool is rated 5 stars in the Mac App Store application and costs $1.99.

Grant
  • 11
  • 1
0

This is kinda far from ideal, but it is possible to manually drag a window using "Mouse Keys":

https://support.apple.com/guide/mac-help/control-the-pointer-using-mouse-keys-mh27469/mac

You can move the cursor to the windows title bar and hold down "5" just like a mouse left click button, and then while holding "5" can use the other numbers to drag it. It's clumsy, but it does work and only involves the keyboard.

chrismarx
  • 129
  • 11
0

SizeWell

Features and ease of use are combined in a way that I can't find in any alternative software.

I use it with Mountain Lion.

Downside

SIMBL (required by SizeWell) is not recently updated.

Graham Perrin
  • 1,273
  • 7
  • 28
  • 67