68

I use spaces for having multiple desktops, but often need to move a program from one space to another.

I am aware of the various ways to do that with a mouse:

  • Click-and-hold on the title bar of window and drag to edge
  • F8 to show all Spaces and drag to desired location
  • Click-and-hold on the title bar, and use Ctrl+# or Ctrl+Scroll Arrow

But have not been able to find a keyboard-only method. I use Linux for one of my primary workstations which has this ability and I would LOVE to use it with OSX as well.

31

While dragging a window, press key combo to move window to numbered space:

  • Control + 1
  • Control + 2
  • Control + 3
  • etc ...

EDIT: For Lion, I had to go to System Preferences -> Keyboard -> Keyboard Shortcuts -> Mission Control and enable these hotkeys.

| improve this answer | |
  • 9
    This just moves the screen to another space, you actually have to click the window with the mouse and then use that shortcut to move the window. – Winder Sep 14 '10 at 11:56
  • 1
    Looks like you need to enable these keyboard shortcuts for every release since Lion. To your credit, this is easier for my fingers than what I'd been doing before: ctrl + → while dragging a window. – Merchako Mar 6 '17 at 10:41
18

SizeUp

You could have a look at SizeUp, which has been recommended on apple.se at least once before - it has some nice keyboard tools for throwing windows around multiple monitors (as I use it) and also for throwing them around multiple 'spaces'.

It's not free, but it's very useful and certainly worth the small registration fee.

| improve this answer | |
  • Spectacle does work for multiple displays, as long as the app being moved is not in full screen mode. – Kayle Sawyer Jan 16 '18 at 16:25
8

Amethyst

With Amethyst, you can send windows to specific spaces using configurable keyboard shortcuts. One possible setup is:

  • Command + Control + 1   [send to Desktop 1]
  • Command + Control + 2   [send to Desktop 2]
  • Command + Control + 3   [send to Desktop 3]
  • and so on . . .

By default, Amethyst automatically tiles your macOS windows. If you do not want automatic tiling or the extra layout features that Amethyst provides, then add "floating" to Layouts under Preferences and remove all other layouts. Also, disable any keyboard shortcuts you do not need under the "Shortcuts" tab.

| improve this answer | |
  • 1
    On the off chance anyone's looking at this thread years later, try Amethyst with BetterTouchTool (paid). Changed my life. The BetterTouchTool 'keyboard gestures' can be set up to do Ctrl+Alt+Shift+L/H to send a window one space to the right/left respectively; this complements the normal shortcuts perfectly. Then set up trackpad or magic mouse gestures to perform the Amethyst shortcuts, like TipTaps for resizing the main window, or my favourite, 'two finger touch top' to left click and then set current window to main window (alt-shift-enter). Beautiful. – zelk Mar 14 '16 at 15:29
5

BetterTouchTool: free and does the job plus a lot of extra ;) I use it in combination with ShiftIt for window resizing.

| improve this answer | |
  • a great tool, but no longer free. Still well worth the few dollars, though. – iconoclast Mar 8 '16 at 18:57
  • ShiftIt is kind of dead now but I fully replaced it with BTT. – AsTeR Feb 22 '18 at 14:07
0

There is one built in way to do this without using the mouse. It involves using the Mouse Keys, so this is really only a good option for when you have a full external keyboard connected.

Steps:

  1. Enable Mouse Keys if it's not already enabled (the standard shortcut is hitting the left option button 5x)

  2. Use the numeric pad to position the mouse pointer on the menu bar of the app. Use the #5 key to click, then hold that, and make the window drag a little by clicking one of the other numbers (the directional keys)

  3. Then, once that mode is active, you can stop dragging (but hold the mouse key #5 down), and use the Ctrl-Left/Right shortcut and the window will follow

For more on using Mouse Keys - https://support.apple.com/en-us/HT204434#mousekeys

| improve this answer | |
-1

Shiftit is awesome...

I use shiftit which is an open-source tool for resizing/moving windows.

To move a window you can click_hold_window + CTRL + space_number

| improve this answer | |
  • 2
    Welcome to Ask Different! Please refrain from 1-sentence answers. We're trying to find the best answers and those answers will provide info as to why they're the best. Short answers like this don't explain why they're the best approach or the best tool. Also, providing a link to the tool can be very helpful to the OP. See How to Answer on how to provide a quality answer. - From Review - – fsb Aug 18 '16 at 16:42
  • How do you "click_hold_window" without using the mouse? – Elezar Jan 14 '17 at 23:01
  • 1
    Elezar, ShiftIt requires the mouse... – Andrei Sura Jan 16 '17 at 15:10
  • Requires mouse, moves between screens, not spaces, which is what the question asked. – Benjamin R Sep 13 '17 at 3:21

You must log in to answer this question.

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