Multiple monitors and linked spaces: automated move, add and removal

I know that those issues have been mentioned already on the forum in several posts. However, there are different issues at interplay and I wanted to make one comprehensive feature request with a proposal for a simple interface that could fix this for most people who feel this need.

First of all, this should be fixed by simply unchecking “displays have separate spaces” in mission control options. Unfortunately, this makes fullscreen support completely broken (thanks apple for making having multiple screens useless by greying them out - who implemented that??). This fix is actually worst than the problem it should resolve, unfortunately. :frowning:

The obvious solution would be to maintain separate spaces but link or join them when they’re moved - moving a space on one display makes the space move also on the other display.

What happens when there are two different grids? Like 3x2 on one screen and 4x1 on the other one? Boundaries (and circulation) wouldn’t work anymore.

My take is that if one desires the spaces to be linked, she would also want the same number of spaces on all displays. So, when this custom option (“link spaces on different displays”) is set, secondary displays always automatically have the same grid as the primary display.

In fact, it could work as follows:

  • as a new display is added, it automatically gets the same grid as existing displays
  • moving between spaces is linked (all spaces on all displays move at the same time with the same movement, and the animation is shown on all displays if active).
  • opening the grid/expose opens the grid on every display, and clicking a space on one display moves all of them
  • when a display is removed, all its spaces are DELETED and windows that were left there go back to the linked space on the primary display (let’s say that we had two screens, and a 2x2 grid. We had 4 spaces on monitor 1 and 4 on monitor 2, total 8 spaces: 1-1, 1-2, 1-3, 1-4, 2-1, 2-2, 2-3, 2-4. monitor 2 is suddenly detached. windows in 2-1 go to 1-1, those in 2-2 goes to 1-2, etc etc).

This would permit the user to select one grid once and for all and having it replicated on every display she adds. No surprises and everything would work in a predictable way, arguably more intuitive and predictable that Apple’s current implementation IMHO. With the added bonus that adding and removing a display right now would need to add and remove spaces before starting actual work, with this option everything would be already set.

The numbering of spaces could be as follows. I would probably try to hide real numbers and show the user the same number for every linked space (e.g. totalspaces2 would show number 3 for all the spaces 1-3, 2-3, 3-3 on three different displays that are actually (if a 3x3 grid is assumed) spaces 3, 12, 21 (always 3 modulo 9 on the total list of spaces). I don’t know if that is feasible - maybe there are better solutions and it’s not a big problem anyway I think, just an interface decision.

What do you think? Is the display removal operation I described possible?

Totalspaces 2 is a fantastic app already. Truth is, for me it has no replacement right now, I could not live without it. The above feature, together with the in-place fullscreen fix mentioned in another thread, would make it just perfect. Thanks to the developers for fixing Apple’s mess; Maverick spaces implementation is unusable to say the least. I would have downgraded back to 10.6, but that is really not a long term option… and totalspaces is really better than that old implementation! I really do hope you will continue providing this great app also in the future!

I would characterise that as an ambitious plan because removing spaces is somewhat destructive. The space names, app assignments and desktop background settings would be lost (and would therefore have to be managed / retained by TS2).

The simplest thing I can think of to do is to have an option to always switch to the same row/col on other screens as the one that is being commanded to change. (If the row/col exists.)
This is probably achievable pretty fast.

It totally makes sense @stephen. Way less hassle and it would probably work easier/better. I would still love to see a dynamic/automatic management of multiple monitors (activating and deactivating a certain, preconfigured set of spaces on known secondary monitors) but I understand that it would be difficult to achieve, and should probably be considered another feature entirely.

I don’t know how your development cycle works, but if it makes sense, I’m up for testing alpha or beta versions of the features we talked about (and also other features, why not). Send me a message in case.

Thanks a lot for your software and your fantastic support! Cheers

I think this is almost exactly what I am in need of.

My main problem is that when OSX introduced “Displays have separate spaces” (one of the fixes to the Full-screen app problems) they broke the concept of side-by-side monitors.

It is great when you are using the AppleTV as a second display, but horrible when you are using side-by-side displays.

So to reiterate, what I think the ideal set up is:

  • In OSX “Displays have separate spaces” is turned on.
  • In TS2, there is an option to “link” spaces on displays.
  • It would be great if this could be triggered by different display configurations being connected (2 Thunderbolts & Laptop closed: Turn on… Laptop and AppleTV: Turn off)
  • I agree the grid configuration for all displays would have to be the same.
  • I also think the idea of disconnecting displays should consolidate windows to remaining displays.

This could all be summed up by the idea of taking the best of Snow Leopard spaces, and adding the “Displays have separate spaces” feature, with optional linking and display-configuration specific setting profiles.

I would personally pay 4x the asking price for TS2 for this feature set. Still don;t know why Apple caters to the lowest common denominator. Still over $100 seems fair to me to have spaces work the way I think they should (or at least give the user the option).

Just do something simple soon please. At the very least, allow a common keyboard shortcut for changing spaces across displays.

I was taken aback at how poor Mavericks implementation was given it was supposed to be the solution to full screen multi display mojo… So I’ve faffed around just forgoing full screen in the interim.

But I finally decided this wasn’t good enough and dug a little deeper - have made that faustian bargain and despite my strongest instincts opted for “Displays have separate spaces”. I was staggered to find that TS2 didn’t have any way to sync switching displays. SO yes, while I remain pissed that Apple can’t get something simple (they are the simplicity gurus right?) right, I can live with a complex doubling up of spaces setups, if I can only sync switching between displays. Allowing a common keyboard shortcut seems the simplest short-term answer. I’m sure, as Steve would say, you could do it “in a heartbeat”.

TS2 please, given your raison d’etre of covering up for Apples spaces screw-ups, just… Make It So.

Thanks, I hear you. I’ll get something done asap - the only reason it hasn’t been done so far was a little technical roadblock - some complex race conditions that can happen when you switch both displays at once. But I think I can fix that ok.

I have something for you.

This pre-release version of TotalSpaces2 has an option in Layout prefs that allows you to lock the grids together. They will always try to switch to the same numbered space if possible.

http://downloads.binaryage.com/TotalSpaces2-2.2.2.zip

Please let me know if this works for you (it has been working ok for me, but perhaps needs a bit heavier testing).

Note that it doesn’t (for now) keep the desktops in sync when you use OSX’s own space switching (via mission control or system defined swiping).

The checkbox will only show when there are multiple monitors in use (and you are using separate screens have separate grids mode).

Hi @stephen. Thanks! I wanted to try the feature today using the secondary monitor at my workplace but the link seems not to work for me. I get the following message:
"This XML file does not appear to have any style information associated with it. The document tree is shown below."

AccessDenied
Access Denied

I will able to try the feature for the next four days here at work, then I will be away without access to a secondary monitor for a month more or less. Actually I am eager to try it, let us know when the link is fixed. :smile:

Sorry I somehow forgot to set the right permission on the file. Please try now.

Works perfectly here. I will use the feature today and tomorrow and I will let you know if any problems arise. I hope other people on this thread will download your release and test it; as I said I will have a work setup without a secondary monitor for a while. I will use it everyday as autumn comes though.

Thanks @stephen! Good work :wink:

Ok, great. Let me know how it goes.

It’s going great actually. Works fantastic.

I still miss some features though, and the biggest one to me is management of the number of spaces - namely the fact that when I disconnect a monitor, all the spaces of the other one get assigned to the main one. And then my grid suddenly does not work anymore as intended :wink:

I saw in another thread that you made a small app that reorders spaces. Am I correct in my understanding that right now it currently fixes a osx bug in handling monitor profiles but it does not offer automatic creation and deletion of spaces at monitor plugin/plugout? Any chances that it could evolve to do that?

(I also vaguely remember that you were doing research about the very slow fullscreen transition - any progress on that one? I do not have big hopes about it, because I know that is probably marginal and difficult at the same time, but I see no harm in asking :smile: )

I know that I’m asking a lot! Thanks as always for the great support.

Yes, the little app I made only moves spaces to screens. Saving them and restoring them (by removing and adding them) is a bit more work, and requires modifications to the API, so that’s not done yet. If there is demand I will do that though.

The full screen transition is irritating. The background slide I can modify, but the window zoom I have not been able to track down yet. It is something I will continue to research. Once I have a fix I will put it into TotalSpaces2 asap.

2 Likes