MakiDownload

Install

Maki requires macOS 26 or later. It runs in the menu bar and has no Dock icon.

  1. Download Maki and move it to the Applications folder.
  2. Open Maki. The guided start describes the strip and the basic shortcuts.
  3. When the guided start prompts you, give Maki the Accessibility permission in System Settings.
  4. Check the macOS settings in the list below. The guided start and Settings › Mac Setup show which ones you still need to change.
Accessibility permission
Maki requires this permission to move and resize windows.
Displays have separate Spaces
Turn this on in Desktop & Dock, so that each display keeps its own strip.
Stage Manager is off
Stage Manager moves windows on its own. Turn it off in Desktop & Dock.
macOS window tiling is off
Turn off “Drag windows to screen edges to tile” in Desktop & Dock. macOS tiling resizes a window when you drag it to reorder the strip.
Trackpad swipe is free
macOS uses the same swipe to switch desktops. In Trackpad › More Gestures, set “Swipe between full-screen applications” to a different number of fingers, or turn it off.
No other window manager is running
Quit any other window manager, so that only Maki moves your windows.

The overview shows a picture of each window. For those pictures, macOS prompts you for the Screen Recording permission the first time you open the overview. The rest of Maki works without it.

Concepts

The strip and its columns

Each display has a horizontal strip that extends past its edges. Each window is a column on the strip. A new window opens beside the focused column, and the other columns keep their widths.

Scrolling and centring

When you focus a column, the strip scrolls only far enough to show it. In Settings › General you can centre the focused column never, only when the strip is wider than the display, or always.

Stacks and tabs

A column can hold several windows. They are either stacked from top to bottom or shown as tabs, one at a time. Stack a window into the column beside it, and pop it out again to give it a column of its own.

Floating windows

Windows with a fixed size, such as Calculator, float in front of the strip. You can float any window, or make every window of an application float with a rule in Settings › Rules.

Displays and Spaces

Each display and each Space has its own strip. A window on a Space that you have not visited since Maki started is added to a strip when you first go to that Space.

Saved layout

Maki saves the order and width of the columns, and restores them when it restarts.

Keyboard shortcuts

Every shortcut uses Control ⌃ and Option ⌥. Some add Shift ⇧ or Command ⌘. You can change each shortcut in Settings › Shortcuts.

Focus

Focus the column on the left⌃⌥Hor⌃⌥←
Focus the column on the right⌃⌥Lor⌃⌥→
Focus the window above⌃⌥Kor⌃⌥↑
Focus the window below⌃⌥Jor⌃⌥↓
Focus the first column⌃⌥⌘←
Focus the last column⌃⌥⌘→
Focus column N, from 1 to 9⌃⌥1 … 9
Show or hide the overview of the strip⌃⌥O

Move

Move the column left⌃⌥⇧Hor⌃⌥⇧←
Move the column right⌃⌥⇧Lor⌃⌥⇧→
Move the window up in its stack⌃⌥⇧Kor⌃⌥⇧↑
Move the window down in its stack⌃⌥⇧Jor⌃⌥⇧↓
Move the column to the start⌃⌥⇧⌘←
Move the column to the end⌃⌥⇧⌘→
Move the column to position N, from 1 to 9⌃⌥⇧1 … 9
Send the window to the next display⌃⌥N

Width and height

Cycle through the preset widths⌃⌥R
Make the column full width⌃⌥F
Centre the column⌃⌥C
Make the column wider⌃⌥=
Make the column narrower⌃⌥-
Make the window taller⌃⌥⇧=
Make the window shorter⌃⌥⇧-
Equalize the heights in the stack⌃⌥0
Equalize the widths of the columns in view⌃⌥⇧0

Stacks, tabs and floating windows

Stack the window into the left column⌃⌥]
Stack the window into the right column⌃⌥[
Pop the window out to the right⌃⌥⇧]
Pop the window out to the left⌃⌥⇧[
Switch the column between stacked and tabbed⌃⌥⇧T
Float or tile the window⌃⌥T

Window management

Stop or start window management⌃⌥Q

Trackpad and pointer

  • Swipe with three or four fingers to scroll the strip. The strip stops at the nearest column.
  • Drag a window onto another column to reorder the strip.
  • Resize a window with the pointer to change the width of its column.
  • Focus follows mouse and mouse follows focus are optional. Both are off at first.

macOS uses the same swipe to switch between full-screen applications. In System Settings › Trackpad › More Gestures, set that gesture to a different number of fingers, or turn it off.

Settings

Open Settings from the Maki menu in the menu bar.

General
Start at login, and restart after a failure. Animate scrolling. When to centre the focused column. Keep windows clear of a Dock at the side of the display. Show the strip minimap while navigating. Focus follows mouse. Mouse follows focus. Which swipe scrolls the strip: three fingers, four fingers or off. Install the maki command.
Layout
Gaps between windows and at the screen edges. The width of a new window. The preset widths, in percent, separated by commas.
Appearance
A border around the focused window, with its width and colour. Dimming of the windows that are not focused, with its amount.
Shortcuts
Change the shortcut of each command.
Displays
Turn window management on or off for each display. Windows on a display that is turned off stay where you put them.
Rules
Make every window of an application float, or give an application a fixed slot from 1 to 9 on the strip.
MCP Server
Run the MCP server and choose its port.
Mac Setup
The macOS settings that affect Maki, and whether each one is set.
Licence
Activate, manage or remove your licence.

Automation

The command-line tool, the URL scheme and the Raycast script commands accept the same command names. Each command does the same as its keyboard shortcut.

Command line

To use the maki command in Terminal, choose Install in Settings › General › Command line. That adds a link at /usr/local/bin/maki to the tool inside the application. macOS can prompt you for an administrator password. maki help lists every command.

maki focus-left

URL scheme

Open maki:// followed by the command name.

open "maki://cycle-width"

Raycast

The source repository has one Raycast script command for each command, in Integrations/Raycast. Add that folder in Raycast under Extensions › Script Commands.

Command reference

In focus-column-N and move-to-column-N, replace N with a number from 1 to 9.

Focus
focus-leftFocus the column on the left
focus-rightFocus the column on the right
focus-upFocus the window above
focus-downFocus the window below
focus-firstFocus the first column
focus-lastFocus the last column
focus-column-NFocus column N, from 1 to 9
toggle-overviewShow or hide the overview of the strip
Move
move-leftMove the column left
move-rightMove the column right
move-upMove the window up in its stack
move-downMove the window down in its stack
move-firstMove the column to the start
move-lastMove the column to the end
move-to-column-NMove the column to position N, from 1 to 9
move-to-next-displaySend the window to the next display
Width and height
cycle-widthCycle through the preset widths
toggle-full-widthMake the column full width
center-columnCentre the column
widenMake the column wider
narrowMake the column narrower
tallerMake the window taller
shorterMake the window shorter
equalize-heightsEqualize the heights in the stack
equalize-widthsEqualize the widths of the columns in view
Stacks, tabs and floating windows
stack-into-left-columnStack the window into the left column
stack-into-right-columnStack the window into the right column
pop-out-rightPop the window out to the right
pop-out-leftPop the window out to the left
toggle-tabbed-columnSwitch the column between stacked and tabbed
toggle-floatingFloat or tile the window
Window management
toggle-managementStop or start window management

MCP server

Maki can serve the Model Context Protocol, so that an AI assistant can get and change the arrangement of your windows. Turn it on in Settings › MCP Server. It is off at first.

The server accepts connections at http://127.0.0.1:7475/mcp from this Mac only. Any program on this Mac can then read the titles of your windows. It uses the Streamable HTTP transport. The settings show the setup for each client, with the port that you chose.

Claude Codeclaude mcp add --transport http maki http://127.0.0.1:7475/mcp
Codex CLIcodex mcp add maki --url http://127.0.0.1:7475/mcp
Gemini CLIgemini mcp add --transport http maki http://127.0.0.1:7475/mcp
Ampamp mcp add maki http://127.0.0.1:7475/mcp

Clients that start a local process instead of connecting to an address, such as Claude Desktop, can use maki mcp-relay as that process. Services that run in the cloud cannot reach the server.

Tools

get_layout
Returns each display, the strip of each Space with its columns and windows, and the focused, floating, minimized and full-screen windows.
set_layout
Arranges windows as a document describes, completely or not at all.
update_window
Changes one window: floating, column width, height in a stack, full width, tabs or column position.
find_windows
Finds windows by application, bundle identifier or title.
run_command
Runs a command on the focused window, as its keyboard shortcut does.
set_management
Starts or stops window management.
get_settings
Returns the settings and the keyboard shortcut of each command.

A document from get_layout passed back to set_layout restores that arrangement. Window IDs stay valid until Maki restarts.

Trial and licence

  • Maki is free for 14 days, with every feature. After that, a licence costs $19 once, with no subscription. Buy a licence.
  • One licence covers three Macs and includes updates, with no time limit.
  • When the trial ends, window management stops until you activate a licence.
  • To move a licence to a different Mac, first remove it in Settings › Licence. To free a Mac that you no longer have, use Manage Licence in Settings, or open the licence portal.

Maki uses Sparkle to check for and install updates.

Troubleshooting

Maki uses only public macOS interfaces, but it relies on behaviour that Apple does not document. A macOS update can change that behaviour.

  • To pause Maki, stop window management with ⌃⌥Q. Press it again to start.
  • macOS does not let an application hide a window of another application. Windows that are scrolled out of view are parked with one point visible at the edge of the display.
  • To report a problem, open the engine log from the Maki menu. It is at ~/Library/Logs/Maki/engine.log.
  • The saved layout is at ~/Library/Application Support/Maki/layout.json.