# Karousel for Mac: KDE's scrollable tiling, on macOS

Source: https://chainyourmac.com/karousel-for-mac  
Updated: 2026-11-05 · Author: Ahmed Gagan (maker of ChainYourMac)

Karousel is a KWin script, so it only runs inside KDE Plasma. **The way it works does carry over to a Mac.** Here's what comes closest, and how Karousel's default shortcuts map to macOS.

> **tl;dr:** Karousel is a "scrollable tiling KWin script" for KDE Plasma, so it can't run on macOS. What it does, putting windows in columns on a strip you scroll through, works fine on a Mac. [ChainYourMac](https://chainyourmac.com/) is a native scrolling window manager for macOS 13 or later, and unlike Karousel today it gives every display its own strip. OmniWM is a free option if you're on macOS 26 Tahoe, and PaperWM.spoon is free on older versions if you don't mind Hammerspoon.

## What Karousel is

[Karousel](https://github.com/peterfajdiga/karousel) describes itself as a "scrollable tiling Kwin script". It runs inside KWin, the window manager of KDE Plasma, and arranges your windows in columns on a strip that carries on past the edge of the screen. Its README says it "works especially well with ultrawide screens". It's free and GPL-3.0, and it's still active: v0.18 came out in October 2026.

It's the KDE member of a family. PaperWM does the same on GNOME, niri is a whole Wayland compositor built around the idea, and Hyprland now ships a scrolling layout too. The [scrolling window manager explainer](https://chainyourmac.com/what-is-a-scrolling-window-manager) covers all of them.

Karousel's README is upfront about its limits. It doesn't support multiple screens, windows shown on all desktops, or windows on several activities.

## Why it can't come to the Mac

A KWin script is code that KWin loads and runs. Without KDE Plasma there's no KWin, and macOS draws its windows with its own window server, which no third-party app can replace. So Karousel can't be installed on a Mac, now or later.

Mac window managers work differently. They're ordinary apps that move other apps' windows through macOS's Accessibility API while Apple keeps drawing everything. That's enough to rebuild Karousel's layout, but not compositor tricks like animations that bend or blur windows.

## The Mac options

### ChainYourMac: native, one strip per display

[ChainYourMac](https://chainyourmac.com/) is a scrolling window manager for Macs with Apple silicon (M1 or newer) running macOS 13 Ventura or later. It's a SwiftUI app with a Rust engine, notarized by Apple, and it doesn't need any SIP changes. You set it up in a settings window rather than a config file. Each display has its own strip with its own focus and scroll position, which covers the multi-monitor case Karousel doesn't handle yet. It's paid ($19.99 one time) and closed source.

### OmniWM: free, if you're on Tahoe

[OmniWM](https://github.com/OmniNull/OmniWM) is free and open source, with Niri-style scrolling plus a Dwindle BSP layout. It needs macOS 26 Tahoe on Apple silicon and uses its own workspaces rather than macOS Spaces. Full comparison: [OmniWM vs ChainYourMac](https://chainyourmac.com/chainyourmac-vs-omniwm).

### PaperWM.spoon: free, on Hammerspoon

[PaperWM.spoon](https://github.com/mogenson/PaperWM.spoon) brings PaperWM's layout to macOS as a Hammerspoon Spoon. It's free (MIT) and configured in Lua. Setup guide: [PaperWM.spoon setup](https://chainyourmac.com/paperwm-spoon-setup).

## Karousel's default shortcuts, mapped to ChainYourMac

Karousel's defaults use Meta with A/D/W/S. On a Mac the ⌘ key belongs to apps, so ChainYourMac's defaults use ⌃⌥ with H/J/K/L or the arrows instead. Every ChainYourMac shortcut can be rebound in its Shortcuts screen, so you can rebuild Karousel's layout of keys if you prefer.

| Action | Karousel default | ChainYourMac default |
|---|---|---|
| Focus left / right | Meta+A / Meta+D | ⌃⌥H / ⌃⌥L (or ⌃⌥← / ⌃⌥→) |
| Focus up / down | Meta+W / Meta+S | ⌃⌥K / ⌃⌥J (or ⌃⌥↑ / ⌃⌥↓) |
| Focus first / last | Meta+Home / Meta+End | ⌃⌥⌘← / ⌃⌥⌘→ |
| Focus column N | Meta+[N] | ⌃⌥1 … 9 |
| Move window | Meta+Shift+A/D/W/S | ⌃⌥⇧ + the same keys |
| Move a window into the column beside it | Meta+Shift+A / D (moves into and out of columns) | ⌃⌥] / ⌃⌥[ to stack into the left / right column |
| Take a window out of its column | Meta+Shift+A / D | ⌃⌥⇧] / ⌃⌥⇧[ to pop out to the right / left |
| Show only the active window of a column | Meta+X (stacked layout) | ⌃⌥⇧T (tabbed column) |
| Cycle preset widths | Meta+R | ⌃⌥R |
| Wider / narrower | Meta+Ctrl++ / Meta+Ctrl+- | ⌃⌥= / ⌃⌥− |
| Center the focused window | Meta+Alt+Return | ⌃⌥C |
| Toggle floating | Meta+Space | ⌃⌥T |
| Multiple screens | Not supported (per its README) | One strip per display; ⌃⌥N sends a window to the next one |
| Configured in | KDE System Settings (KWin shortcuts) | A settings window; a TOML file exists but you never have to edit it |

Karousel has no direct equivalent in ChainYourMac for "equalize widths of visible columns" or for its scroll-only commands that move the view without changing focus. In ChainYourMac, moving focus scrolls the strip for you, and a three- or four-finger trackpad swipe moves the strip directly.

## What's different on a Mac

- **Spaces instead of virtual desktops.** ChainYourMac works with macOS Spaces, and each Space keeps its own strip.
- **Hidden windows leave a sliver.** macOS never lets an app push a window fully off screen, so a small piece of a hidden window can show in a bottom corner. Setting "Gap at Screen Edges" to 0 tucks almost all of it away.
- **No compositor effects.** Apple's compositor still draws every window, so there are no custom shaders or window-bending animations. Movement itself is animated and synced to your display's refresh rate.

Want to see how it feels before deciding? Try the live demo on this page. It's a working model of ChainYourMac, not a video.

## Who should use what

### Use ChainYourMac if…

- you're on macOS 13 to 15 and want a native app, not a script;
- you use more than one display and want a strip on each;
- you'd rather set things up in a settings window than in code.

### Use OmniWM if…

- you're on macOS 26 Tahoe, want free and open source, and like having a BSP layout next to scrolling.

### Use PaperWM.spoon if…

- you want free and already use Hammerspoon, or don't mind configuring things in Lua.

**Karousel's strip, on your Mac.** Columns on an endless strip, stacks and tabbed columns, width presets and a trackpad swipe that follows your fingers. One strip per display, on macOS 13 Ventura or later. Price and checkout: https://chainyourmac.com/#pricing (one-time purchase, lifetime license; macOS 13+ on Apple silicon).

## FAQ

### Does Karousel run on macOS?

No. [Karousel](https://github.com/peterfajdiga/karousel) is a script for KWin, the window manager of KDE Plasma, so it needs a KDE desktop. macOS has its own window server that no other window manager can replace. On a Mac you use an app that recreates the scrolling layout instead.

### What is the closest thing to Karousel on a Mac?

A scrolling window manager: windows sit in columns on a strip that runs past the edge of the screen, just like in Karousel. On macOS the options are [ChainYourMac](https://chainyourmac.com/) (native app, macOS 13 or later), OmniWM (free, needs macOS 26 Tahoe) and PaperWM.spoon (free, runs on Hammerspoon). They're compared in [the best scrolling window managers for Mac](https://chainyourmac.com/best-scrolling-window-managers-for-mac).

### Does Karousel support multiple monitors?

Not at the moment. Its README lists "Doesn't support multiple screens" as a limitation, along with windows on all desktops and windows on multiple activities. On a Mac, ChainYourMac gives each display its own strip, with its own focus and scroll position.

### Is Karousel like niri or PaperWM?

Yes, it's the same idea. Niri is a scrollable-tiling Wayland compositor, PaperWM is a GNOME Shell extension, and Karousel brings scrollable tiling to KDE Plasma as a KWin script. Niri's README lists Karousel among the projects that tile scrollably elsewhere. More: [what a scrolling window manager is](https://chainyourmac.com/what-is-a-scrolling-window-manager).

### Do I need to disable SIP to get scrolling tiling on a Mac?

No. ChainYourMac only needs the Accessibility permission, the same one every Mac window manager asks for. OmniWM and PaperWM.spoon don't need SIP changes either.

## Related

- [Scrolling window managers, explained](https://chainyourmac.com/what-is-a-scrolling-window-manager) — Definition, scrolling vs tiling, and every option by OS.
- [Best scrolling window managers for Mac](https://chainyourmac.com/best-scrolling-window-managers-for-mac) — Every option in 2026, ranked honestly — free ones included.
- [Niri for macOS](https://chainyourmac.com/niri-for-mac) — Can niri run on a Mac? Every way to get the niri workflow, compared.
- [PaperWM for Mac](https://chainyourmac.com/paperwm-for-mac) — The GNOME original, the Hammerspoon port, and the native option.
- [Linux tiling WMs on Mac](https://chainyourmac.com/linux-tiling-window-managers-on-mac) — xmonad, dwm, bspwm, sway and more, matched to their closest Mac tool.
- [Ultrawide monitor on Mac](https://chainyourmac.com/ultrawide-monitor-window-manager-mac) — Split a 34" or 49" ultrawide into columns you can actually read.
