Looking for the "move space to display" app (+ thoughts on using multiple displays with multiple spaces)

I read in this thread that there was(?) an app for saving and restoring space-layouts for multiple display setups. I’m using TotalSpaces2 with El Capitan. Does it still exist and does it work with El Capitan?

Either that or being able to move a space between displays from the overview grid would be nice! Why would I want these things? Find the (rather lengthy) explanations below :smile:

Using a single display with multiple spaces
When using multiple spaces on a single display, everybody basically use “spaces as folders”, i.e. each space contain apps for one activity. When adding additional displays into the setup, there are two (generally speaking) choices.

Using multiple displays with multiple spaces
From reading the TotalSpaces forum, there seem to be two main ways of using spaces with multiple displays:

  1. One activity spread across multiple displays (e.g. video editing) → linked spaces between displays
  2. One activity per display → independent spaces

In the first category, additional displays add screen real-estate and the user has more space to use for each activity. The user is mainly performing one activity at the time. Lets call category 1 users “single activity users”.

For the second use category, additional displays add screen real-estate, and the user uses that space to house additional activities. Instead of additional displays providing more space per activity, additional displays provide space for more activities. Lets call category 2 users “multiple activity users”.

Linking a space to a display vs spaces that exist independently of available displays
I fall into the second category. Basically I am using spaces as containers for activities, but only one display is needed per activity. During a day, I move from a 3 display setup, to a 2 display setup, to a 1 display setup. For me, I do not see a space as linked to a specific display, but rather that applications are linked to a space and the space can be on different displays.

The current behavior when disconnecting a display does not work for me as a multiple activity user. Example of current behavior:

3 display setup
Display 1: Display1 space, Development space, Presentation space
Display 2: Display 2 space, Browsing space
Display 3: Display 3 space, Email/Calendar, Reading space

Disconnecting a display: If I just disconnect a display, the apps move from the space on the disconnected display, but the spaces do not.

Current workaround
I use the following workaround:

  1. One dedicated space per display.
  2. Spaces with names according to activity with different applications assigned to each space.
  3. When going from my 3 display setup to a smaller one, I use Mission Control to move any activity spaces from that display to one of the ones that still will be in use.

Ideal behavior for spaces-as-folders-users

  • Spaces exist independently of displays.
  • If a display is removed, spaces move to existing displays.
  • If the removed display is attached, spaces that lived on that display are moved to that display.

Different philosophy
I realize that this is different from how TotalSpaces2 is structured, because in TotalSpaces2, the number of spaces of a display is important. When an activity is not spread across displays one does not need to focus both on how many spaces exist and which displays they exist on, only how many spaces exist.

I think your best bet is to try the manager plugin app:

http://downloads.binaryage.com/DisplaySpacesManager-1.2.2.zip

It will work with a fully licensed version of TotalSpaces2 on El Capitan and earlier.

You can set it to automatically restore spaces layouts depending on which monitors are plugged in.

1 Like

Thanks Stephen! That worked great in saving my desktop layouts and loading them automatically based on display configuration.

Is there a way of triggering a “move apps to their assigned spaces”? Going from my 1 display setup to my 3 display setup moves the desktops to the right displays, but all apps stay on the first display (Macbook), rather than appearing in their assigned desktops (assignments via TotalSpaces2).

It would be easiest if the app had that refresh trigger, but otherwise, can I do this using the Ruby API?

It sounds like it ought to be possible.

TotalSpaces2 will return which app a particular window belongs to in the window_list API method.
This could be correlated to the bindings - which you can get from the defaults, see here for clues

Then the windows could be moved using the API. It would be a nice feature to add to the DisplaySpacesManager app, but I’m not sure how soon I will get to it - if you are able to figure out something with the ruby API then let me know how it goes.

Thanks for the pointer, I’ll let you know if I get anywhere :smile:

I find the combination of TotalSpaces2 and an app called Stay by cordless dog software to work well to get you where I think you’re trying to go, and with DisplaySpacesManager.

https://cordlessdog.com/stay/