In the spirit of small, focused tools, Stacks doesn't include built-in window management. The idea is to combine it with a great dedicated window manager.
Use Stacks to manage your clipboard, notes, and snippets, and then use a specialized tool to handle your windows. As @rosano writes: "Every interoperable app becomes a super-app."
In this sequence, a quick one-pager HTML page is started. Stacks is used to load the clipboard with some HTML. bp sends the content to the bat CLI tool, and then to Nushell's save command. The
index.html
file is opened in Safari. Raycast moves Safari to the right half of the screen, and Ghostty to the left. BetterSnapTool is used to reposition and resize Stacks, and Stacks is again used to load some CSS onto the clipboard. Theindex.html
is then opened in neovim to paste in the CSS, and the one-pager is refreshed.
For window management, some candidate tools for macOS include: BetterSnapTool, Loop, Rectangle, Raycast, Swish, Amethyst, and more ...
In the world of window management, there are pretty much three types of tools:
Hotkey + Hover for Freeform Resize/Move: Tools that allow you to use hotkeys in combination with mouse hovering to freely resize or move windows, providing fluid control—this is my preferred style.
Fixed Position and Size: Tools that allow you to fix a window to specific positions or sizes—such as snapping to the right half, left half, or top-left corner of the screen. I particularly like 'almost maximize' with this type of tool.
Window Tiling Managers: Tools that automatically tile windows to make the best use of screen space.
I’ve been using BetterSnapTool since 2018. For $1.99, it offers both hotkey-based freeform resizing/moving (type 1) and fixed positioning (type 2). In practice, I find myself mostly using type 1 for its flexibility.
Loop is a great option for type 2 (fixed position) window management. It's a standout for a few reasons. It's open-source and free. It also offers a unique radial menu for selecting window positions. The radial menu makes arranging windows feel almost 'gamified'. Thank you @PandaDEV for the tip.
Rectangle's free version offers type 2 features. There’s also a Pro version for $10, which includes freeform resizing/moving (type 1), similar to BetterSnapTool. Although I haven’t tried it yet, it includes some intriguing features like:
Hide windows on the edge of your screen. They slide out when your cursor touches the edge.
The author, Ryan Hanson, has a suite of exquisite macOS utilities: https://ryanhanson.dev
Raycast is a free option that provides type 2 functionality. Since Raycast is a Spotlight-like launcher, you can activate window commands by typing the action name, which means there’s not as much need to memorize keyboard shortcuts. The biggest reason to pick Raycast over a dedicated window manager is that it’s an awesome swiss army knife—you likely already have it installed for its many other uses.
Some additional options I've not had a chance to try. On the window tiling front, there's the open-source Amethyst, which looks really cool. Stacks user @VKondakoff has had success with Swish.
How about you? Do you have a favorite window manager? Swing by our discord to chat!
Made by @ndyg