Skip to content

Now and then I like to switch up my tools a bit. And a dependable window manager is an essential tool for any work on the Mac. For a long time I’ve been using Magnet for this purpose, and before that, back in the day I used to rely on SizeUp. All good tools. But last month I stumbled over Moom which is now my new window manager of choice.

It’s got all the standard functionality that I need. Like using keyboard shortcuts to resize and position windows on either side of the screen. And it handles dragging windows to the corners of the screen for resizing only by mouse. You can even override the macOS default behaviour when clicking the green full screen button to get this functionality there:

But the key feature that sets Moom apart is the ability to save snapshots of your window layouts. Say you’re organizing a couple of apps next to each other and resize them to fit your needs:

If you want to come back to this exact layout you can save it as a snapshot in Moom and give it a name. That will add an item in the Moom menu bar where you can choose it to get back to your saved layout.

That’s incredibly handy. But the thing that takes it even one step further is that you can use AppleScript to programmatically invoke that layout later:

tell application "Moom" to arrange windows according to snapshot "Review"

I’m using Keyboard Maestro for doing a lot of automation work. And involving Moom has made this process much simpler for me.

I used to do all the window management that I needed programmatically directly from Keyboard Maestro’s built in window actions. It works, but it’s tedious when you need to update them at a later time.

With Moom I can invoke my layout, do some minor adjustments and then save it to replace my previous snapshot, it can keep the same name which means I don’t need to update any of my other scripts. They still work.

I will write another post later on how I use Keyboard Maestro to set up custom workspaces. But a cornerstone tool in that setup is now window management with Moom.

It could be valuable to have a global gitignore file that you fall back on in case you don’t have one for every project.

  1. Open your terminal and check if you have a global git config file set up by the following command:
git config --get core.excludesfile
  1. Create a global gitignore file. You can name it anything. I call mine .gitignore__global.
  2. Configure git by setting up the path for the global gitignore file you just created. I keep mine in a .dotfiles folder under my user. So in my case I do:
git config --global core.excludesFile '~/.dotfiles/.gitignore__global';

But change the path to where you saved the file.

Here’s how my global gitignore file looks like. It’s a good default for when I haven’t one set up for a project.

Finally there’s a simple, user-friendly way to send content to your Kindle, and it’s directly in the web browser: https://www.amazon.com/sendtokindle

I used to connect my Kindle via cable to my computer and drag over the files manually. While that worked it didn't retain highlights and notes that I made from the book and it didn't sync to my other devices.

Then I used the “Send to Kindle” Mac app for a while. But that didn't support the epub format and more often than not I didn’t get covers for my books.

Let’s just say that it’s been a mess lately to get my books from elsewhere to my Kindle library.

But now I finally have my one-stop-shop for getting content onto my library: https://www.amazon.com/sendtokindle