Three displays: two stacked, two mirrored

At the moment my display setup consists of two 24″ monitors stacked vertically. Today I had a visitor and wanted to show stuff across my office desk and found the following gem regarding multiple display setups (from the Display Settings Help):

If more than two displays are connected to your Mac, you can specify that some are mirrored displays and others show the extended desktop. For example, if you have three displays, you can have two displays showing the same information and the third display showing the extended desktop.

  1. Set up all the displays as an extended desktop.
  2. Option-drag a display icon onto another display icon to mirror those two displays.

So now I could continue with my regular setup, but flip open the lid of my Macbook and use it show stuff to my visitor!

Three displays, two stacked, two mirrored
Three displays: two stacked external displays with the lower external display mirrored to the built in display of my Macbook 15″

Using multiple spaces with multiple displays

I use TotalSpaces2 to manage how I use spaces on my MacBook Pro running El Capitan. During a day, I move from a 3 display setup, to a 2 display setup, to a single display setup. This being the case, I have observed different ways of using spaces and multiple displays.

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 has envisioned space management. In TotalSpaces2, the number of spaces of a display is important. Each display is configured to have a specific number of spaces. 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.

In other words, rather than thinking of each display having its own pool of spaces, one can think of all displays sharing a common pool of spaces, so just like moving applications between displays, one can move spaces between displays.

Now, El Capitan lets you move spaces between displays, but El Capitan treats spaces as something ephemeral, rather than permanent fixtures. Why this conclusion? Well spaces can not be named, they have names such as Desktop 1, Desktop 2 etc. The numbering also changes depending on the position of the space. If I move Desktop 3 between Desktop 2, the previous Desktop 2 is renamed to Desktop 3, and the previous Desktop 3 is renamed to Desktop 2. Creating and deleting spaces is also very easy which promotes a behavior where you create and delete spaces as you need them.

Anyway, writing this has been interesting for me, as it has helped me explore how a linear increase of the degrees of freedom in an interface does not entail a linear increase in UI and interaction complexity, but rather a exponential increase in UI and interaction complexity.

A “simple” thing like adding desktop space functionality combined with another “simple” thing like adding an additional display can have the result of creating non-trivial interaction and usability issues.

Mini review: Choice of the Deathless for iOS

Choice of the Deathless for iOS by Choice of Games is an interesting interactive book. Not the type where you roll dice, but the kind where you shape and make real choices for the main character. Not “Do you go up the stairs or to the next room first?” choices, but rather choices between alternatives like “Be silent and nod, even though you disagree”, or “Proclaim your honest and enthusiastic support”.

The story is set in a parallel universe where you play the role of a Crafts/man/woman/person, i.e. a sorcerer of sorts, working at a medium sized firm, dealing with demons and gods – a line of work which seems to be more similar to working as a lawyer than being Gandalf.

I am not a fan of “Choose your own adventure” type books, but this I like. Choice of the Deathless uses the strengths of written fiction, rather than trying to emulate a computer game. Choices are not easily categorized into “good” or “evil/bad”. They represent choosing one alternative and discarding others. And there is no looking back… unless you read the book again🙂

I have not finished the book but am a few chapters in, but I do not think my opinion regrding the experience will change, at least not for the worse I hope.

Use to interactively choose which app to use to open any file

I have been using Choosy for a very long time (a quick search through my email revealed that I started using the beta in 2008 and bought my license in 2009).

Today I discovered a way of using Choosy to pop up a selector for any file type.

Select between opening a PDF file in or

Some time ago I added a rule to Choosy that gave me the option to edit a local .html file using Sublime Text in addition to selecting a web browser to open it in.

Rule for adding Sublime Text to browser selection when opening a local HTML file

Here is how to do it:

  1. Create an alias of ~/Library/PreferencePanes/Choosy.prefPane/Contents/Resources/ (if you have installed Choosy all users remove the initial ~) and put it in your Applications folder.
  2. Create a rule in Choosy in the advanced tab
  3. Set the rule trigger to require that all the following conditions are true:
    • Web address begins with file://
    • Web address ends with <file extension> (replace <file extension> with the file extension of your choosing, e.g. pdf).
  4. Set the action to be “Promt to select from these browsers…”
  5. Select the applications you want to be able to choose from (they need not be browsers).
  6. In Finder right click a file that has the extension you just created a rule for, choose Get Info and change the Open with application to the alias you added to your Applications folder.
  7. Click “Change All...” so that all files with that extension are affected.

Thats it! Now when you click a file with that extension, it will open in Choosy, which in turn will show you the app selection popup. Below is a screenshot of my PDF rule:

Rule for opening a PDF file in or

My Firefox add-ons after a Firefox Refresh

So I had this problem that Firefox did not remember my toolbar customizations. I created a new profile and re-synced that, but it did not seem to help. Today I discovered that Firefox has a “Refresh Firefox” feature that clears everything and starts fresh, so I tried that and it seems to work. Since all my add-ons were removed, I the chance to only install those that I really need. The list is not very minimal, but I spend a lot of time in my browser, and making being able to do stuff faster saves a lot of time, but most of all, reduces frustration.

Blocking unwanted things

Then there are the add-ons that take care of usability issues (that should not exist to begin with):

  • Customizable Shortcuts: CMD-Left Arrow is mapped to “Navigate Back” and in all other applications on OS X, it is mapped to “go to the beginning of the line”. You can see how this becomes a problem when editing text in a text field.
  • Lazarus: Form Recovery – Have you ever by accident navigated away from a page and had to fill in all the form fields again? Lazarus saves everything you type in to form fields. It even has multiple versions of the stuff. Also, if you use a web interface for adminsitrative stuff and have to fill in the same stuff lots of times, Lazarus can help you there.
  • warn-before-quit: Sometimes I hit Cmd-Q instead of Cmd-W when I want to close a window and end up quitting Firefox.

I like Firefox, especially now that I refreshed it and it got faster. Panorama an automatic unloading of unused tabs are fantastic. But sometimes I need to use other browsers and when I do, I want to have access to my bookmarks and passwords, so I need cross browser sync for that:

  • 1Password: Your passwords and other credentials everywhere.
  • Xmarks: Xmarks almost died, but got saved by a crowd funding campaign.

The browser is great for browsing, not so much for saving, so I have add-ons to get stuff out from the browser. In many cases a simple bookmarklet is enough, but as in Evernote’s case, the add-on is more than just the bookmarklet functionality.

Finally I use Zotero for my academic reference management:

  • Zotero: A reference manager that adds references and their associated PDFs directly from the page you found them on. Zotero is also unaffiliated with any publishing house. Mendeley got sold to Elsevier, Papers got bought by Springer Nature.
  • Zotero Better Bib(La)Tex: for generating .bib files. Better Bib(La)Tex allows for setting your own cite keys and can automatically update a .bib file that you have exported (e.g. a bib file of a subset of you collection)
  • Zotero Storage Scanner Plugin:
  • ZoteroQuickLook: enables QuickLook in Zotero.
  • ZotFile: Better attachment renaming rules, and the possibility of moving PDFs out from the Zotero store to e.g. a Dropbox folder.

Fortunately for me however Tab Mix Plus and Session Manager can export and import settings. Zotero and its add-ons however, I had to re-configure manually (I took screenshots of the preferences before the refresh).

Stuff not on the list

  • Tab Mix Plus is not on this list because I think it was responsible for the toolbar issue in the first place. Otherwise it is great: multiple rows of tabs, visual feedback on tabs with regard to whether they are unloaded, unread + progressbar for each tab.

Left handed mouse pointer

  • Are you left-handed?
  • Do you use your left hand to controll your mouse with the buttons reversed?
  • Do you use a Mac (Yosemite)?
  • Has the right-handedness of the mouse pointer irritated you at some point?

Here is the solution. Download Mousecape (check the releases page, the latest release at the time of writing is 0.0.5 which is the second download on the page).

After downloading, installing both the app and the helper app, do the following:

  1. Go to the Mousecape preferences and choose “I am left handed”.
  2. Dump the system cursors into a cape from the menu: “Capes” → “Dump Cursors”
  3. Apply the Cursor Dump cape (right click → apply)
  4. Done!

Synching, or rather sharing contacts between Gmail accounts

Started using more than one gmail account now (without forwarding because I need separate inboxes) but send email so common addresses, so I wanted to sync my contacts. The solution I settled with was using Shared Groups that can (surprise) share a contact group across accounts. The least problematic approach (to avoid duplicates) seems to be to create a new group, share that, and put any contacts that need to be shared into that group.