aaron's picture

Updating to DockSpaces 2.45 breaks FlowSpaces PLIST hacks

| | | | |

My FlowSpaces project has relied to date on DockSpaces 2.1, which has a number of warts. Since I am not shy about sharing both the ups and downs of technology, this post discusses the pros and cons of DockSpaces and my recent attempts to update to its most recent version in context of the FlowSpaces project objectives.

So what's wrong with the old DockSpaces? First, it only allows Spaces integration (Dock/Space bindings) with the first 4 spaces.

FlowSpaces. DockSpaces 2.1 Preferences. Spaces Integration Message

FlowSpaces. DockSpaces 2.1 Preferences. Spaces

What 'Spaces Integration' means is that when switching to any one of the first 4 spaces, the right dock will load automatically.

Typically this means you cannot use more than four Spaces, but the FlowSpaces PLIST hack gets us around this limitation (and actually uses 12 of the 16 possible Spaces permitted by OSX).

The bummer implication for FlowSpaces is that the only way to load docks for the remaining 8 Spaces is by keyboard shortcuts for Spaces 5-10 or by menu selection.

FlowSpaces. DockSpaces 2.1 Menu with 12 Docks and 10 shortcuts

Selecting a dock to load from the DockSpaces menu (by clicking on the DockSpaces menu bar icon) is possible for all Spaces (1-12); but this is the only way to load Docks 11 & 12. This keyboard shortcut really does not matter too much, except that its another step for the user.

FlowSpaces. DockSpaces 2.1 Preferences. General

The keyboard shortcuts selected to load docks in FlowSpaces are the same numbers as the keyboard shortcuts used to switch to (numbered) Spaces: you hit command+NumberKey to switch to a Space; and you hit Option+NumberKey to load the Dock for that Space.

Hitting the NumberKey twice, first with Command then with Option held down is not the end of the world. But it would be nice to remove the necessity of hitting the second keyboard shortcut. Full integration across all Spaces would be preferable! (The updated DockSpaces 2.45 makes full Spaces integration possible; but at a cost. More on this near the end of this post...)

On the upside, sometimes reloading the Dock takes a number of seconds (ranging between a few to a few too many) which invariably seem interminable.

Why does this matter? Recall that Spaces are technically 'not enabled' if your Dock is not loaded. So in the several seconds it takes to load the Dock, you might be impatiently trying to switch away to another Space, but cannot. I know that this 'slowdown' is frustrating, especially when you switch to the wrong Space! And this happens often for me. So, not having to wait for each dock to load might be an advantage.

This suggests, from user experience, that the option to turn 'Spaces Integration' on or off for Spaces you often switch back and forth between would be excellent! Like another keyboard shortcut to switch to 'Spaces Bounce' mode and 'Spaces Integration' mode.

Also, another plus is that the keyboard shortcuts are very useful for when you want to switch to a different tool collection while staying in a given Space. If the tool you want is right in the new Dock and has an Application Binding to another Space, launching the application will then switch you to the right Space. If the app is in the new Docks tool collection but not bound to a Space; you can then open that App in a 'non-workflow standard' Space, which is sometimes handy.

Now on to the next foible of the older version: DockSpaces 2.1 limits you to adding only 10 Docks through its GUI.

FlowSpaces. DockSpaces 2.1 Preferences. Dock Limit MessageFlowSpaces. DockSpaces 2.1 Preferences Pane

Typically this means you cannot use more than 10 Docks, but the FlowSpaces PLIST hack gets us around this limitation (and actually uses 12 of an as-yet-unknown theoretical upper limit of possible Docks).

DockSpaces 2.1 can also nuke your existing Spaces PLIST preferences (including Application-to-Space bindings) if you are not very careful. This happens if your current dock is over-written by a the DockSpaces default Dock (the out-of-box apple Dock). This happens whenever you create a new Dock in DockSpaces and then you open the Spaces Preferences and toggle the Spaces Integration option. This will turn Spaces on or off and change the number of Rows and Columns of Spaces in the Dock PLIST. (Have I mentioned: This can result in lost Application/Space bindings, so watch out.)

Despite these shortcomings, DockSpaces provides an essential component to the FlowSpaces project. By hacking its PLISTS and adding additional files in its Application Support folder, you can get it working with as many custom Docks as you like.

So why try to update to DockSpaces 2.45? As you can see, 2.1 has a number of limitations that would be great to obviate!

Recall that with FlowSpaces set up for 12 Spaces (3 rows of 4 columns) it requires 12 custom Docks.

Recall also that in order to load up those docks in anything but the first 4 Spaces, you need to hit a keyboard shortcut (for the first 10) or select the dock from a drop-down menu in the Menu Bar.

In 2.45, you only get shortcuts for the first 9 spaces. I consider this a regression.

FlowSpaces. DockSpaces 2.45 Menu with 10 Docks and 9 shortcuts

DockSpaces 2.45 adds integration with as many Spaces as you like (not just the first 4) ...

FlowSpaces. DockSpaces 2.45 Preferences. Spaces

... but keeps the hard limit of only 10 custom Docks.

FlowSpaces. DockSpaces 2.45 Preferences Pane

The real, unavoidable, buzz-killing bummer is; adding the extra Docks by PLIST hack no longer works in 2.45. DockSpaces 2.45 just wont launch with any Docks added by hand to the PLIST (& Application Support folder).

So, here is the tradeoff: If you really want full Spaces Integration (no extra keyboard shortcut to hit to load your custom dock when you switch to another Space) at the price of giving up your custom Docks for Spaces 11 and 12, then the update makes sense.

But for me and the FlowSpaces project, the 2.45 update gains are not worth their price. I spent the better part of today trying to hack the preferences for 2.45 and then most of the early evening rolling back all my modifications.

Im back to 2.1 and happy to report that everything is once again working as expected.

For reference and comparison, here are some shots of 2.1 vs. 2.45:

FlowSpaces. DockSpaces 2.1 Preferences. OptionsFlowSpaces. DockSpaces 2.45 Preferences. Options FlowSpaces. DockSpaces 2.1 Preferences. GeneralFlowSpaces. DockSpaces 2.45 Preferences. General   bookmark tuals 0.1 on

Bg Bottom