A couple years ago—it’s difficult to believe it’s been that long—I covered
MondoMouse (), a great utility that lets you move or resize any window by holding down a couple modifier keys and then moving the mouse cursor—no more having to “grab” a thin title bar or a tiny resize corner. It even works if the target window is partially hidden behind other windows. MondoMouse remains one of my favorite Gems, and I still use it every day.
But what if you don’t want to use the mouse at all? In other words, what if you’re a keyboard-focused person who likes to keep your fingers on the keys? Then you’ll want to turn to Helium Foot Software’s $20 MercuryMover. This useful OS X add-on lets you move and resize the active window using keyboard shortcuts.
Once you’ve chosen the target window—likely using Mac OS X’s own keyboard shortcuts, given that you’re avoiding the mouse—you activate MercuryMover by pressing your desired key combo; the default is Control+Command+Up Arrow. This brings up MercuryMover’s helpful onscreen display (see image below), which in addition to explaining the available options, also shows the size and onscreen position of the active window. Pressing any of the arrow keys moves the active window in that direction; each press moves the window one pixel. Pressing Shift+arrow moves the window 10 pixels; Option+arrow moves it 100 pixels; and Command-arrow moves the window all the way to the edge of the screen. (If you have multiple displays, pressing Command+arrow towards the second display initially moves the window against the edge of the current screen; pressing Command+arrow again moves it to the far edge of the next screen.) Once the window is in the desired location, you press Escape to exit MercuryMover. It’s a simple and convenient way to quickly reposition a window.
But MercuryMover also lets you resize windows using similar shortcuts. Invoking MercuryMover by pressing the right-arrow key instead of the up-arrow key lets you resize the active window down and to the right; in other words, the upper-left corner is anchored in place and you can grow or shrink the window as if you were dragging the lower-right corner. Activating MecuryMover using the left-arrow key lets you resize the window up and to the left. Resizing uses the same keys and key combinations as moving to resize by one pixel, 10 pixels, or 100 pixels, or to resize all the way to the edge of the screen.
You can customize the keyboard shortcuts for activating MercuryMover, as well as which move/resize shortcut corresponds to which distance. I’ve changed my settings so that Command moves/resizes 10 pixels; Option, 100 pixels; and Control, to the edge of the screen, since the modifier keys are arranged in that order on the keyboard.
MercuryMover also has a few tricks up its sleeve. When in move mode, pressing the equals key (=) centers the active window on its screen, and pressing the plus key (+)—Shift+equals—maximizes the window. Unfortunately, there’s no minimize shortcut, nor is there a zoom-to-fit shortcut. On the other hand, there are shortcuts to undo (Command+z) and redo (Shift+Command+z) the last action, both of which have come in handy for me.
But perhaps my favorite feature is the capability to create shortcuts for particular window sizes, locations, or both. After moving a window to the desired location, and resizing it to the desired dimensions, if you activate MercuryMover and then press Command+D, you’ll see a shortcut dialog. (Why Command+D and not Command+S, for shortcut? Good question.) Type your desired shortcut key and then choose whether you want the shortcut to apply the current size, the current position, or both. (You can also create a shortcut manually by typing the size and position numbers into the MercuryMover preference pane.) You can use this new shortcut to resize and reposition any window.
For example, my Mac Pro has two displays, and when I’m browsing my drives, I like to use a Finder window located at the top edge of my right-hand display, about 500 pixels tall, and spanning the width of the display. I’ve configured a shortcut so that pressing 0 when MercuryMover is active moves the current window to that location and sizes it accordingly. So whenever I open a new Finder window, if it’s not in my favorite location or not the right size, I just activate MercuryMover and press 0. This feature is also useful for resizing Web browser windows that open at the wrong size thanks to annoying Web site tricks and pop-up ads.
I’m impressed by how well MercuryMover works with multiple displays, a configuration that trips up many system utilities. But MercuryMover does have a few minor quirks. One is that the “edge of screen” action works oddly with some windows that have slide-out drawers. For example, BBEdit’s Documents drawer isn’t seen as part of its host window, so using MercuryMover to move a BBEdit window to the edge of the screen results in the Documents drawer being hidden offscreen (or, if you have multiple displays and push the window up against the common border, appearing on the other screen). And I found that if I exited MercuryMover by pressing its keyboard shortcut a second time, rather than by pressing Escape, I lost window focus—the active window was no longer active.
Still, in the couple weeks I’ve been using MercuryMover, I’ve found myself using it much more than I expected. I especially like its shortcuts, which I use regularly to position and size my Finder, Web browser, iChat, and document windows.