Front and Center

John Siracusa, announcing Front and Center:

By the time Mac OS X was first released in 2001, I had been using what would eventually be known as “classic” Mac OS for seventeen years. These were seventeen formative years for me, from the ages of 9 to 26. The user interface of classic Mac OS was as ingrained in me as Star Wars or any other cultural institution.

My love for classic Mac OS is why I started researching and reviewing Mac OS X. Big changes were coming to the Mac, and I was going to feel them more than most. I needed to know what I was in for.

To deal with some of the changes in Mac OS X, I ran apps and system extensions that restored some behaviors from classic Mac OS. Over the years, I weaned myself off most of these, but a few stuck. In particular, I found I did not want to live without the window layering policy from classic Mac OS.

In classic, when you click on a window that belongs to an application that’s not currently active, all the windows that belong to that application come to the front. In Mac OS X (and macOS), only the window that you click comes to the front.

Front and Center is a new app — co-written by Siracusa and his friend Lee Fyock — that does one thing and does it well. It re-implements classic-style window ordering when you click on a background window. It offers two modes, Classic and Modern, that determine what happens when you just-plain-click on a window belonging to a non-frontmost app. In both modes, Shift-clicking does the other thing. So if you prefer the modern style, where clicking on a window simply brings that one window to the front, you can Shift-click on a window if you really do want to bring all of that app’s windows forward. Honestly, the Mac OS X system should have offered all of Front and Center’s functionality for the last 18 years.

Other things I love:

  • The app icon and menu bar icon are exquisite. I adore them. My pal Brent Simmons is running Front and Center just because he likes having the icon in his Dock.
  • The only visible interface in F+C is the preferences window (shown in a screenshot atop Siracusa’s announcement). It looks like five minutes of work, right? There’s one pop-up menu, two checkboxes, and a bit of explanatory text explaining what the options do. In a small Slack group where Siracusa shared his work in progress and took feedback, I watched both the copy and the UI layout go through dozens of revisions. It’s fun to work on something so small and contained, but the number of revisions even this super-simple prefs window went through shows just how much work goes into getting anything just right. (And the very first version of the window Siracusa showed us was easily “good enough”.)

I never liked Mac OS X’s change in this regard, but I haven’t used a third-party utility to restore the classic style in at least 10 years. But now that I have it back, I realize I’ve missed it. When you switch to an app via the Dock, all its windows come forward. When you switch to an app via ⌘-Tab, all its windows come forward. It feels right to me that when you switch to an app by clicking one of its visible background windows, the whole app comes forward. And when you do really just want that one window to come forward, Shift-click.1

Classic Mac OS was chockablock with little extensions and control panels that improved the standard system behavior in small ways. I love that Front and Center not only brings back behavior from the classic era, it does so in the spirit of classic-era simple utilities.

$3 (cheap!) in the App Store. Highly recommended.

  1. So why Shift-click? There really wasn’t any choice — the other single modifier keys are all spoken for by the system. These are some good shortcuts that I’ll bet a lot of you don’t know:

    • Control-click is a system-wide synonym for right-clicking, dating back to the days when Apple’s mice only had one button. You can Control-click/right-click on items in background windows to open contextual menus without activating the background window.
    • Option-click: Activate the background window and hide the current application.
    • Command-click: Click on background windows without activating them. Command-clicking lets you fully interact with background windows without bringing them forward. You can click on buttons, and you can even click-and-drag to move the background window around without moving the window forward.
    • Command-Option-click: Activate the background window and hide all other applications.

    Shift was the only modifier available. But it works for me, mnemonically — it’s like you’re shifting the way clicking in a background window works. ↩︎