Tried using Amethyst and am currently "trying" Yabai

I started using Amethyst. I like the concept of windows, automatically tiling, and applications going into specific locations on the screen. Although, Amethyst doesn’t have Applescript support, and I don’t know if running a tiling window manager alongside Moom is a good idea. Does anybody have experience with a tiling window manager? Also, I’m not sure if Moom can control the layout of the apps on other desktops if a user has several desktops. I would appreciate any recommendations.

3 Likes

I use it on my work laptop but effectively as an always forced full screen.

Amethyst is awesome!

Here are my top 3 tips:

  1. My main recommendation if you want to use something like a Moon window set is to get accustomed to using spaces. They’re the way to go to create a set and have Amethyst not mess up the group.

For that, set you “throw window to space left/right” hotkeys and use them in conjunction with a create/remove space hotkey (this is not baked in Amerhyst due to Apple’s SIP, but can be worked around with a Keyboard Maestro Macro, Alfred Workflow or anything that allows you to run an AppleScript that will click the buttons to create a space, I’ve shared the scripts I use for that this post).

  1. Use the focus/move window to main shortcut. This makes a clear distinction for the window you’re working and those that are there to support.

  2. Add apps to the ignore tiling, this is recommended for apps that look well when resized, but I found it really useful for apps that you just peek at (in my case, Messages and WhatsApp). Trigger them via Alfred.


Currently, I’m using Swish and allowing windows to overlap, I just don’t appreciate when a single Safari or Word window is taking up all my 27’ desktop.

But sometimes I move back to Amethyst, specially if I’m on a long laptop only run.

2 Likes

Moom doesn’t handle management of “virtual” spaces, right? I’ve experimented with both Amethyst and Yabai, but I’m leaning towards returning to only using Moom. With Yabai or Amethyst, moving a window isn’t straightforward; I need Moom for that. For window tiling, I require either Yabai or Amethyst. However, saving tiled window positions is a challenge. Moom allows saving layouts, but only for the primary desktop, not for virtual spaces. This limitation exists because Yabai and Amethyst do not support AppleScript, which is necessary for saving layouts.

Do you see where this can become more trouble than it is worth?

Yabai user here. Did you configure the skhdrc file to the shortcuts you like? After doing that I never used any other tool for window management.

Not sure, but you can probably use yabai rules to move a window automatically to a position.

There’s no direct yabai support for AppleScript but it’s possible to use AppleScript’s do shell script (if you do that then first run which yabai in Terminal.app as it’s necessary to use the full path in do shell script).

No idea whether yabai and Moom can be used together (but I guess it won’t work). Do you really need saved layouts?

If you take the time to configure yabai (and skhd) to suit your needs then there’s probably no better window manager for macOS.

I initially believed that using predefined layouts was necessary because I wasn’t sure how to properly organize and position applications that are launched via Bunch. Without the help of Moom, which offers AppleScript support, it’s challenging to manage these applications. When I launch apps with Bunch, they tend to open all in one space, cluttered and stacked on top of each other, rather than being neatly arranged in their designated places.

You’ve probably seen this, but just in case Using Moom with Bunch for window management - BrettTerpstra.com

2 Likes

I’m assuming that you’ve solved this issue with Moom. If not, I have ten spaces and four monitors and use Bunch with Moom to launch and arrange applications and folders across the spaces and monitors, and I would be happy to explain my methods.

If that’s the case, there shouldn’t be a problem because I only have one monitor but seven desktops and I’m trying to use the Tiling window manager Yabai.

I couldn’t get it to work right, do I save seven different layouts? One for each desktop?

It is possible to Use Bunch and Moom to control windows in multiple desktops/spaces (note that Apple uses both terms to refer to the same thing as different places).

The key point is to have Bunch move to the space/desktop you want the applications, files, and folders to be on, then open them, then have Moom arrange the windows. And then repeat for the next space/desktop. It will take some experimenting with delays in Bunch.

There are two ways to have an application open in a specific space (which you may already know).

  1. When an application is running, navigate to the space you want the application on, right click on the Dock icon, and in the menu select Options > Assign to This Desktop. And now when this application launches it will be placed on the specified desktop.
  2. In Bunch you can specify the space to open on but it requires some set up.
  • In System Settings > Keyboard > Keyboard navigation - Keyboard Shortcuts (button) > Mission Control > Mission Control (checkbox) – enable the “Switch to Desktop N” keyboard shortcuts for the N spaces/desktops you use.
  • In Bunch use the syntax {^N}, where N is the space/desktop to switch to. Then list the items to open on that space. Then trigger Moom to rearrange that space. Then move to the next space. You’ll need to experiment with the delays in Bunch to make things work.

Note that if you use method 1, then launching such an application in Bunch will switch to that space, and you can sequence the other apps for that space after this one, again experimenting with delays in Bunch.

I use these techniques in my set up, which has four monitors and ten spaces.

1 Like

I used to use Moom, but changed over to Rectangle a few years ago and like it much more.

I like the idea of Yabai but haven’t yet put in the time to understand how it works.

I soon moved away from using both Yabai and Amethyst after discovering that Hammerspoon offers much more flexibility. With Hammerspoon, it’s possible to create a custom tiling window manager experience while retaining the traditional window movement features that are lost when using Yabai or Amethyst. This was important to me because I wanted to maintain specific window movements alongside the benefits of tiling, something that wasn’t feasible with the previously mentioned applications.

I even went as far as disabling specific Keyboard Maestro macros and re-creating them as Hammerspoon scripts.

2 Likes

I was even able to create the custom weather menu bar widget you can see below using a python script for the weather and lua for the menu bar item/widget.

weather widget

1 Like