How to set up PaperWM.spoon on a Mac

By Sheik Ahamed, who makes Findow. Checked on 31 October 2026. All guides

Short answer: install Hammerspoon, clone PaperWM.spoon into ~/.hammerspoon/Spoons, change two Mission Control settings, then load it in init.lua. It takes a few minutes, and it gives you a free scrolling strip on your Mac.

PaperWM.spoon is a separate Mac project, not the GNOME extension called PaperWM. If you aren't sure what a strip does, read what a scrolling window manager is first. Before you start, quit any other app that moves windows.

Step 1: install Hammerspoon

  1. Download the latest release from the link on Hammerspoon's site.
  2. Drag Hammerspoon.app to Applications.
  3. Open it and follow the prompts to allow Accessibility access.

Hammerspoon adds an icon to the menu bar. Open Config and Reload Config both live there. You'll use them a lot.

Step 2: download the Spoon

In Terminal, run this one line:

git clone https://github.com/mogenson/PaperWM.spoon ~/.hammerspoon/Spoons/PaperWM.spoon

The project also supports SpoonInstall, pointing at its release branch, if you already use that.

Step 3: change two Mission Control settings

People tend to skip this step, and then the strip misbehaves. Open System Settings > Desktop & Dock and scroll to Mission Control.

macOS may ask you to log out for the second setting to apply.

Step 4: load it

Click the Hammerspoon icon, choose Open Config, and add these three lines to init.lua:

  1. PaperWM = hs.loadSpoon("PaperWM")
  2. PaperWM:bindHotkeys(PaperWM.default_hotkeys)
  3. PaperWM:start()

Save, then choose Reload Config. Your windows should fall into a row. To hand them back, call PaperWM:stop().

Step 5: choose your keys

The README's sample uses ⌥⌘ as the main modifier. It's set up as a table of action names, each with its modifiers and key. For example:

focus_left = {{"alt", "cmd"}, "left"}

Action nameWhat it doesREADME sample key
focus_left, focus_rightMove focus⌥⌘ and arrow
swap_left, swap_rightMove the window along⌥⌘⇧ and arrow
cycle_widthStep through widths⌥⌘R
full_widthFill the width⌥⌘F
center_windowCenter the window⌥⌘C
slurp_inPull a window into a column⌥⌘I
barf_outPush a window out⌥⌘O

Replace default_hotkeys in step 4 with your own table when you're ready. If you came from niri, you can also build a modal set in the style of vim. The README has an h, j, k and l example using hs.hotkey.modal.

Step 6: tune it

Set options after the load line and before PaperWM:start(). These are the ones most people change:

OptionExampleWhat it does
window_gapPaperWM.window_gap = 10Pixels around windows
default_widthPaperWM.default_width = 0.5New window width, as a share of the screen
window_ratiosRatios such as 1/3, 1/2 and 2/3Steps for cycle_width
external_barTop offset of 40Room for a bar or dock
center_mousePaperWM.center_mouse = falseStops the cursor centering on a space switch
swipe_fingersPaperWM.swipe_fingers = 3Trackpad swipe, 0 turns it off
column_layout"stacked"Accordion columns, rather than tiled

Swipes are off by default. Your Mac may use a three or four-finger swipe already, depending on its settings, so pick a number that doesn't clash. There's a swipe_gain setting if it feels too fast or too slow, and a negative value reverses direction.

If something goes wrong

Is it the right tool for you?

It's free, and you can change almost anything, including which apps are managed and how wide each one opens. Options such as app_widths and window_filter handle that once the basics work.

That freedom has a price. You own the setup: a macOS update or a typo in init.lua is yours to sort out. If you'd like a Mac tool closer to niri with a TOML file, try Paneru. If you'd rather not keep a config at all, ChainYourMac and Findow are paid apps with settings windows. Our roundup of the best scrolling window managers for Mac compares all four.

Findow, which we make, has a Scrolling strip with most of the same moves: ⌃⌥R for widths, ⌃⌥F for full width, ⌃⌥C to center, plus stacks. It can't run your Lua, and it doesn't share the Spoon's depth of options. What it adds is search across every window and workflows. It costs $19.99 once, and the 14-day trial lets you compare. Don't run both at once. Our guide to niri keys on a Mac shows the full list of strip keys.

Four small diagrams showing snapping, saved layouts, tiling and a scrolling strip
The four main kinds of Mac window manager.
Findow's Shortcuts settings, with keys for finding windows, tidying and a mouse button option
Every Findow shortcut can be changed, and a mouse button can open the overview.

Questions

Is PaperWM.spoon the same as PaperWM?

No. PaperWM is a GNOME Shell extension for Linux. PaperWM.spoon is a separate project that brings a similar strip to macOS through Hammerspoon.

Do I need to disable SIP for PaperWM.spoon?

Its GitHub page doesn't mention SIP, and it runs as a Hammerspoon plug-in with Accessibility access.

Why do my windows show at the screen edge?

macOS won't let windows go fully off screen, so PaperWM.spoon keeps them in a margin at the left or right.

How do I stop PaperWM.spoon?

Call PaperWM:stop() to release your windows, or remove the lines from init.lua and reload.

Can I use trackpad swipes?

Yes. Set PaperWM.swipe_fingers to 2, 3 or 4. It's 0, meaning off, by default.

Try Findow free for 14 days

Every feature, with no account and no card. Then $19.99 once, with a 14-day refund. For macOS 14 or later.

Download Findow

Keep reading