A menu bar app for macOS · v0.6
Tiler
Tiling windows, one desktop at a time.
Turn it on where you want order. Every other desktop and display stays exactly as you left it.
BikS2013
User guide · for Mac power users
github.com/biks2013-tools/tiler
01 · What it is
A tiling window manager that lives in your menu bar.

Tiler arranges the windows of a desktop so they share the screen with no overlap and no wasted space. Each new window splits the one you were working in, along its longer side (a dwindle layout, as in Hyprland).

It works on one desktop of one display at a time, and only where you switch it on. Your other Spaces, your other screens and full-screen apps are never touched.

You keep using native macOS Spaces and Mission Control. Tiler just keeps the desktop you chose in order.

12 34 1 window fills the desktop. Window 2 splits it side by side; 3 splits 2 top and bottom; 4 splits 3 again, and so on. Gaps: 8 pt between windows and around the edges.
02 · Who it's for
For Mac users who want order on some desktops, not all of them.
01

Keyboard-first people

Developers, writers, analysts who live in a few windows side by side and would rather press a key than drag a corner.

Focus, swap and resize without the mouse.

02

A tiled workspace, a free one

Tile your coding or research desktop; keep a loose desktop for mail, chat and the odd floating window.

Each desktop is a separate choice.

03

Several displays

Tile the laptop screen while the external monitor stays freeform, or the other way round.

Tiler never moves a window on a screen you didn't turn on.

Not for you if you want every window on every desktop tiled automatically, or virtual workspaces that replace macOS Spaces.
03 · Why it feels light
Simple on purpose: fewer moving parts, fewer surprises.
0%
CPU while you work. Tiler only wakes up when a window opens, closes or moves, and goes fully idle on desktops that aren't tiled.
Pollingnone: it reacts to window events
Keyboard interceptionnone: system hotkeys only
Virtual workspacesnone: native Spaces
PermissionsAccessibility only
Cost of one update≈ 1 ms
Size of the code~4,000 lines
Measured on macOS 27 with two tiled desktops. Inspired by HyprMac (~35,000 lines), minus its workspaces, keyboard tap and polling.
01
Get started.
Install with Homebrew, allow Accessibility once, then switch tiling on for the desktops you choose.
04 · Install
Two commands, one permission.
$ brew tap biks2013-tools/tiler
$ brew install --cask tiler
# update later: brew upgrade --cask tiler
No Homebrew? Download Tiler-0.8.2.zip or the .dmg from github.com/biks2013-tools/tiler/releases and drag Tiler to Applications.
SignedDeveloper ID, notarized by Apple
Runs onApple silicon and Intel
RequiresmacOS 14 Sonoma or later
Dock iconnone: menu bar only

First launch

macOS asks for Accessibility: System Settings › Privacy & Security › Accessibility › enable Tiler. That's the only permission: no Input Monitoring, no Screen Recording.
05 · Turn it on, turn it off
Tiling is a switch per desktop, per display.
01
Menu bar: click the Tiler icon on the screen you want and choose Tile This Desktop. It acts on the display whose menu bar you clicked.
02
Keyboard: press ⌃⌘P on the display you're working on (the one with the focused window).
03
Off: the same item or key again. Windows simply stay where they are; Tiler stops all work there.
Tiler menu
  • Remembered across restarts and logins.
  • The icon is filled when the current desktop is tiled.
  • Full-screen Spaces can't be tiled.
  • Move or Resize Window (⌃⌘M) and Focus Follows Mouse live here too.
02
Everyday use.
Shortcuts for focus, swap, resize and layout; a cheat sheet one key away; keyboard moves for untiled windows; the mouse when it's quicker, and focus that can follow it.
06 · Keyboard
Every shortcut on one slide.
General · work everywhere
Tile or untile this desktop⌃⌘P
Show keyboard shortcuts⌃⌘/
Move or resize an untiled window⌃⌘M
Unminimize the app's windows⌥⌘M
Move around
Focus the neighbouring window⌃⌘+←→↑↓
Swap with the neighbour⌃⇧⌘+←→↑↓
Desktops · work everywhere
Move window to previous / next desktop⌃⌘,/.
Resize
Vertical divider left / right⌃⌘[/]
Horizontal divider up / down⌃⇧⌘[/]
Layout
Float or tile the window⌃⌘T
Flip split (side by side ↔ stacked)⌃⌘J
Mirror left ↔ right⌃⇧⌘J
Equalize every split⌃⌘E
Retile the desktop⌃⌘R
The General and Desktops shortcuts work everywhere; the rest exist only while a tiled desktop has focus, so your apps keep those keys elsewhere. Change any of them in Settings › Shortcuts.
07 · Cheat sheet
Forgot a key? Press ⌃⌘/

A translucent panel lists every shortcut, grouped, on the display you're working on. It also works from the menu: Keyboard Shortcuts.

It never takes focus, so the app underneath keeps your keyboard and selection.

It closes on Esc, a click anywhere, a desktop switch, or the same shortcut again. On an untiled desktop the tiling rows are dimmed.

Tiler keyboard shortcuts overlay
08 · Move and resize
Untiled windows, by keyboard.

Press ⌃⌘M (or menu › Move or Resize Window) and the window you're in can be moved and sized with the keyboard, until you press Return or Esc.

It works on any desktop, for any window Tiler isn't tiling: a floating window, or every window on an untiled desktop. A tiled window gets a short note to float it first with ⌃⌘T.

The keys are only taken while the mode is on. Switching app or desktop, or a click, ends it too.

While the mode is on
Move 40 pt←→↑↓
Resize (right/down grow)⇧+←→↑↓
Fine steps of 8 pt⌥+arrows
Centre / fill the screenC/M
Done↩/esc/⌃⌘M
Move and resize HUD
09 · Other desktops
Send a window to another desktop.

Press ⌃⌘. to carry the window you're in to the next desktop on its display, or ⌃⌘, to the previous one. You follow it there, and it keeps the focus.

It works from any desktop, tiled or not. A tiled desktop tiles the window when it arrives; a floating window stays floating, at its size and position. The desktop it left closes the gap.

Tiler uses your own Mission Control shortcut, Move left / right a space (System Settings › Keyboard › Keyboard Shortcuts), so keep it turned on.

Keys
Previous desktop⌃⌘,
Next desktop⌃⌘.
A short note instead, when
There is no desktop on that sideadd one
The neighbour is a full-screen appskip it
The window is a dialog or panelnot moved
10 · Mouse and floating
The mouse still works, and Tiler follows it.
01

Drag onto a tile

Drop a window on another tile and the two swap places. Drop it anywhere else and it snaps back into its tile.

02

Drag an edge

Resize a window by its edge and the split follows: the neighbour shrinks or grows to match, gaps stay even.

03

⌘⌥ + drag anywhere

Hold ⌘⌥ and drag from anywhere inside a window to move it, on any desktop; the app never sees the click. Drop a window on a tiled desktop and it joins the layout.

Float one window: ⌃⌘T takes it out of the layout and centres it at 60 % of the screen. Press again to tile it. It keeps its size and position: across Tiler restarts, and when you float it again.
Floats on its own: dialogs, panels, non-resizable windows, and apps on the Always Float list (System Settings, Activity Monitor, Calculator by default).
11 · Focus follows mouse
Point at a window, and it's yours.

On a tiled desktop, rest the pointer on a window for a moment and it takes the keyboard. No click needed; just passing over a window does nothing.

It is off until you turn it on: menu › Focus Follows Mouse, or Settings › General › Focus, where the delay lives too.

Desktops Tiler doesn't tile behave exactly as before.

What it respects
Open menus and the app switcherfocus stays put
Popovers and panels on topthey win
Floating windows over tilesthe top one wins
Delay before focus moves50–1000 ms · 150
Cost while the mouse moves~0.15 % of a core
Settings, Focus section
03
Make it yours.
Settings…, from the menu or by opening Tiler again. Every change is saved and applied at once.
12 · Settings
General and Layout: startup, focus, gaps.
Settings, General pane

General

  • Launch Tiler at login
  • Focus follows mouse and its delay
  • Accessibility status
  • How many desktops are tiled
  • Config file: Show in Finder, Reload, Restore Defaults
Settings, Layout pane

Layout

  • Gap between windows
  • Gap at the screen edges
  • Resize step per key press

Applied to every tiled desktop when you let go of the slider.

13 · Settings
Shortcuts and Apps: your keys, your exceptions.
Settings, Shortcuts pane

Shortcuts

  • Click a shortcut, press the new keys
  • Delete clears it, Esc cancels
  • A key already used by another action is refused, with its name
  • Restore Defaults
Settings, Apps pane

Apps

  • Apps whose windows always float
  • + picks a running app or one from Finder
  • − removes the selected app
14 · Good to know
The config file, a few limits, and how to leave.
01

One config file

Settings writes ~/Library/Application Support/Tiler/config.json. Prefer a text editor? Edit it, then Settings › General › Reload.

Every key is required. A mistake is shown in the menu and in Settings. After an upgrade, Add Missing Settings fills in only the new keys.

02

Known limits

Apps with a minimum size (Outlook needs 770 pt) can overlap their neighbour on a small screen.

If another tool owns a key (Rectangle, Hammerspoon), it wins: pick another key in Settings. Don't tile the same desktop with HyprMac.

03

Uninstall

brew uninstall --cask tiler removes the app and keeps your settings.

brew uninstall --zap --cask tiler also removes the config and the list of tiled desktops.

Try it today
Tile what you want.
Leave the rest alone.
$ brew tap biks2013-tools/tiler
$ brew install --cask tiler
Source and releases
github.com/biks2013-tools/tiler
This deck and the engineering deck
biks2013-tools.github.io/tiler
BikS2013
Tiler 0.6 · macOS 14+
Open source, MIT license · Swift, no dependencies