How to drag a window from anywhere on Mac: the hidden ⌃⌘ setting, and the apps that also resize
On Linux you hold a key, grab a window anywhere and move it. On a Mac you hunt for the title bar, which keeps getting thinner, and some apps barely have one. You can drag a window from anywhere on Mac too. macOS has a hidden setting for it, and it takes one Terminal command. It only moves windows, though, so below we also cover the small apps that add modifier-drag resize, and when the keyboard is faster than either.
Turn on drag-from-anywhere with one Terminal command
Open Terminal (it's in Applications → Utilities, or ⌘Space and type "Terminal") and paste:
defaults write -g NSWindowShouldDragOnGesture -bool true
Then log out and back in, or restart. Some write-ups say a logout is enough, others say restart; either way, apps that were already running won't pick up the change until they relaunch.
After that, hold Control and Command (⌃⌘), click anywhere inside a window (the middle of a web page, a text document, a sidebar) and drag. The whole window follows the pointer. Let go of the mouse and it stays put.
To turn it off again:
defaults delete -g NSWindowShouldDragOnGesture
Then log out and back in once more.
What to know before you rely on it
- It's undocumented. Apple doesn't mention this key anywhere. It has worked for years and people report it on recent releases, but Apple could change or remove it in any update. If it stops working after an upgrade, that's the likely reason.
- It moves, it doesn't resize. There's no modifier-drag resize built in. You still resize from the edges and corners.
- The modifier is fixed. It's ⌃⌘, with no setting to change it. If an app already uses ⌃⌘-click for something, the window drag gets there first.
- The
-gmatters. It writes to the global domain, so it applies to every app that uses standard macOS windows. Some apps that draw their own windows may ignore it.
For most people who only want to stop aiming at title bars, that's the whole fix.
Why you'd want this now
Two things have made window edges harder to hit. Apps keep shrinking their title bars or hiding them altogether: browsers put tabs where the title bar was, and editors and chat apps fill it with their own toolbars. And on macOS 26 Tahoe, the redesigned window corners have drawn complaints that the grab area for resizing feels smaller. A heise report covered the resizing frustration in detail.
Drag-from-anywhere sidesteps the first problem completely. For the second you need a resize gesture, and macOS doesn't have one.
Apps that move and resize with a modifier key
If you want the full Linux-style gesture, where a modifier plus a drag also resizes, these are the options:
| App | Price | Move | Resize | Notes |
|---|---|---|---|---|
Built-in (NSWindowShouldDragOnGesture) | Free | ⌃⌘ + drag | No | Undocumented, fixed modifier |
| Easy Move+Resize | Free, open source | ⌘⌃ + left-drag | ⌘⌃ + right-drag | Resizes from the nearest corner or edge; modifiers changeable from the menu bar |
| Swift Shift | Free, open source | Modifier + drag | Modifier + drag | Menu-bar app with separate, customizable move and resize shortcuts |
| Hummingbird | Paid (14-day trial; older open-source version on GitHub) | Hold modifiers + move pointer | Hold modifiers + move pointer | No click needed: the window follows the pointer while keys are held |
| BetterTouchTool | Paid | Modifiers + pointer | Modifiers + pointer | One setting inside a much larger gesture and automation app |
Easy Move+Resize is the closest thing to a default. It copies the X11 behaviour directly: ⌘⌃ with the left button moves, ⌘⌃ with the right button resizes, and where you click decides which corner or edge moves. You can install it with Homebrew (brew install --cask easy-move+resize) or from its GitHub page.
Swift Shift does the same job with a more modern settings window, and lets you set the move and resize modifiers independently.
Hummingbird and BetterTouchTool take a slightly different approach. You hold the keys and simply move the pointer, without clicking. Some people find that faster; others find a window following the pointer unnerving. BetterTouchTool is only worth it for this if you'd use its other features too.
If you already run a tiling manager like yabai, check its docs first. It has its own mouse-modifier move and resize settings, so you may not need anything extra.
When the keyboard beats dragging
Modifier-drag is great for nudging a window a little. It's less great when you're doing the same job over and over: putting the browser on the left half, the editor on the right two-thirds, the terminal in a corner. Each drag is a small exercise in aiming, and you do it again tomorrow.
That's what Let's Tile is for. Press ⌘↵ and a grid drops over the window you're using. Steer with the arrow keys, add ⇧ to resize the selection, press ↵ and the window snaps into place. There's no shortcut per layout to memorise, because every layout is a cell or a group of cells on the grid. The free tier gives you a 3 × 2 grid (halves, thirds, two-thirds, quarters and full screen) and stays free. Pro ($9.99 once, no subscription, no account, up to 20 Macs per key) adds custom grids, a different grid per display, and throwing a window to another display mid-tile.
The two approaches don't compete. Turn on ⌃⌘-drag for the occasional nudge, and use a grid for the layouts you rebuild every day. If you want exact pixel sizes instead, our guide to resizing a window to an exact size covers that, and how to resize windows on Mac covers the built-in edge and corner tricks.
Frequently asked questions
Is there a built-in way to move a window without the title bar on Mac?
Yes. Run defaults write -g NSWindowShouldDragOnGesture -bool true in Terminal, log out and back in, then hold ⌃⌘ and drag anywhere in the window. Apple doesn't document it, so it could change in a future macOS release.
Can I resize a window with a modifier key on Mac?
Not natively. The hidden setting only moves windows. For modifier-drag resize, use Easy Move+Resize or Swift Shift (both free and open source), or a paid app like Hummingbird or BetterTouchTool.
Is the Terminal command safe?
It only writes one preference. It doesn't install anything or change system files, and defaults delete -g NSWindowShouldDragOnGesture removes it.
Why doesn't ⌃⌘-drag work in some apps?
Either the app was already open when you changed the setting (relaunch it, or log out and back in), or it draws its own windows instead of using the standard macOS ones.
Does Let's Tile move windows with the mouse?
No. Let's Tile is keyboard-first: it snaps windows into a grid from the keyboard. It pairs well with ⌃⌘-drag or a modifier-drag app if you also want to move windows by mouse.