A new take on macOS window management

I’m the developer of the Rectangle window manager app for macOS, and I’ve been busy iterating on it to create the perfectly balanced window manager: my new mac app called Hookshot. There’s a lot of window management apps and you might already have your workflow configured how you like it, but Hookshot can fit seamlessly into your workflow while dramatically improving your efficiency. Here’s how it works.

First move your cursor over a window that you wish to snap somewhere — say, right or left half, corner, or maximize. The window doesn’t have to be in focus. Press and hold the control and command keys, and a dot, appears under your cursor. Move your cursor away from the dot in a direction, and you’ll see the outline of where Hookshot will snap your window. Release the modifier keys and your window is snapped! It’s surprisingly easy to get the hang of, and there’s no need to memorize a bunch of keyboard shortcuts — just the modifier keys control and command. The modifier keys are configurable, along with the dot that gets laid down when you press the keys.

You can also configure a modifier combo to display an array of clickable buttons that you can release the modifier keys while hovering over to execute the same actions as the “dot” functionality. Basic move/resize behavior is covered as well, along with configurable modifier combos.

You might be content with just the “dot” ability, but there’s a decent amount more cursor movement gestures that can be configured, that I call “Quick Actions”. The Quick Actions were the original behavior of the app, and I still use them the majority of the time because I typically don’t need any UI display for snapping right, left, and maximize.

To snap a window using Quick Actions, press and release a modifier key while moving your mouse cursor over a window in a direction. This is usually known as a “mouse gesture”, but like the “dot” functionality, these gestures can be easily executed with any mouse or trackpad without accidental executions and without much learning curve. Here’s some details on why Hookshot feels so liberating.

  • Window actions are executed on the window that is under the cursor even if it is not in focus. In my previous workflow, I would often take my hand off the keyboard, select a window to focus it, then go back to the keyboard and execute the keyboard shortcut. Either that or I’d go all the way up to the window bar and drag the window to a snap area. If you have multiple windows to move and resize, this takes time. Even though you need two hands to execute a Hookshot gesture, it’s still really intuitive and moving a lot of windows around feels extremely nimble — especially on a large screen.
  • When your hand is already on the trackpad or mouse, it actually does save time to not have to switch back your keyboard. Typically my left hand is ready to go on the modifier keys I need.
  • Modifier keys are configurable. For Quick Actions, if you’re really used to hitting “ctrl + alt + ” to move/resize to the right half then using ctrl + alt and moving a cursor to the right can be immediately absorbed into your workflow to perform the same action.

Hookshot is built as a superset of Rectangle, so it has the entire Rectangle app inside of it. That way you can have all three: gestures, keyboard shortcuts, and snap areas. Here’s what it looks like:

This view is where you can configure the modifiers for the “dot” (or Hookshot, here). The dot can be changed to a ring, too, and the Safe Area is the distance that you have to travel away from the dot before snapping can occur on modifier release.

This view is where you can configure the modifier keys that go with the gestures for each of the window actions. The arrow for each action is the cursor movement that you have to make along with the press and release of the specified modifiers. The new table style view is so that I can easily add more actions as needed.

You might have noticed two new actions in that screenshot. Fill left and fill right will fill the open space next to the topmost window other than the window the action is performed on. If you execute the gesture or shortcut a second time, the window will fill the specified half of the display. It’s a really nice alternative to just left half and right half.

If you’re a Rectangle user, there’s a few things to note here:

  • The default keyboard shortcuts are not the same as Spectacle. They are the “alternate default” shortcuts based off of Magnet.
  • The default behavior for Hookshot is to cycle displays on subsequent left and right executions. The 1/2, 2/3, 1/3 width resizing that is in Rectangle and Spectacle can be enabled in the settings.
  • The localizations are stripped from Hookshot.
  • Hookshot is not free nor open source.
  • Hookshot is intended to be a replacement for Rectangle since it includes all of its functionality.

Of course, managing windows with gestures is nothing new. My other app, Multitouch, also lets you tie window move/resize to gestures, but it can have a steeper learning curve.

You may still be wondering why I’ve created yet another window manager app for macOS. There’s probably more window managers for macOS than any other type of app. I actually built Hookshot for myself. I wanted gestures, but didn’t want to change up my existing gesture set in Multitouch. Also, I am purposefully keeping Rectangle slim on features because it is inarguably a case of less is best. The more I used my prototype of Hookshot, the more I loved using it — to the point where it is indispensable to my workflow. I wanted to polish it and release it for other people to use.

Try it out! I hope you like it, too!