Saturday, April 11, 2015

osx desktop management philosophies and hyperdock

OSX has had some wonkiness with its window management buttons (the ones at the top right of each window) for a while.  The green button was "zoom". I kind of liked this button, and its behavior of (more or less) "make this window take up the usable space on screen".

The behavior was a bit wonky; browsers, especially Chrome, seemed to widen the screen to an arbitrary width (I was never sure if this had something to do with the content it was trying to display, or what) and not the full area. The result was people didn't like or trust the green button, because the results were wonky and hard to mentally model.

To fix this, in OSX Yosemite Apple has replaced the zoom function with a link to full screen mode. I'm not a fan of this. Maybe I'm too much of an old Windows user, but hiding the menu bar seems weird to me, even though I don't use the menus much - I miss having the at-a-glance clock and battery indicator. Worse, cmd-tab'ing to another app is much more jarring. If you "just" zoom a window, then cmd-tab or cmd-` to another window for a jot, returning your main task is just a click away, peeking out from behind what you just brought to the front. If you go full screen and cmd-tab (cmd-` "switch to another window under this app" functionality gets disabled) then the WHOLE DESKTOP slides over. It's terribly asymmetric: Merely zoomed, I hit cmd-tab once to swap to a window, then I can let go and hit cmd-tab again and I'm back to what I was working on. That symmetry is utterly broken with full screen mode, and I have to use the 3 finger swipe to get back to my "fullscreen space". (In general, multiple Virtual Desktops have never appealed to me, I prefer a single context to keep track of, so this full screen mode seems more trouble than its worth. It makes more sense on unitaskers like iPads, but less on powerful laptops.)

Enter Hyperdock- a free (UPDATE - wrong, $10... I got confused by the licensing-- in the comments Jeremy suggests Spectacle has the same key-based window reshaping but is free) application that just adds a few subtle features to OSX. Most notably, Window Snapping. Personally I find "drag window to border to snap" to be difficult to wrangle, so I disable that, but now that I have cmd-option-arrow mapped, making windows hop around is literally a visceral pleasure. It does a great job making windows take up all the available space (or half the space, left and right arrows help setup half screen usage) leaving just enough room to see the dock and the menu bar. Perfect!

Hyperdock has some other cool features - the signature feature might be how now hovering over a menu on the dock shows you thumbnails of all the open windows.  Years ago I wrote how Windows Taskbar beats OSX Dock and I'm not sure I was wrong back then; the default of one icon per window (and task context, so to speak) still feels a little more logical than one icon per application. (Especially for people who use the Dock heavily as a program launcher, so their Dock has dozens of icons, only some of which are active... I tend to use the cmd-space spotlight launcher for everything) Anyway, this Hyperdock preview feature helps split the difference, and it's easier to remember than whatever wacky swipe or keypress shows me all my open windows.

UPDATE: installing it on a new machine, I lost track of the System Preference window Hyperdock needs for permissions; as outlined here it's System Preferences | Security & Privacy | Accessibility


  1. Hyperdock is totally not free, it's $10.

    I use Spectacle for my whip-windows-around-with-hotkeys needs. It's (actually) free.

  2. Oops, good point! I confused myself.

    Looks like Spectacle even picked the same option-command-arrow shortcuts I thought made the most sense for me. (But damn, I wish people would stop using ⌥ for "option", or that Apple would return to labeling the key with that! It's so stupid. I guess visually it's supposed to look like switching lanes or what not, but I just see it as a face, so don't know that it's not control or fn )