ZIL
The LCARS tiling window manager for macOS
Native Swift Developer ID · Notarized SIP stays on macOS 26

Hyprland-class tiling — dwindle splits, a master-centre layout built for ultrawides, drag-to-resize bento bars, focus-follows-mouse — wrapped in a working LCARS console: the frame around your windows lists them, switches workspaces, and reads out live CPU, memory, Wi-Fi and SSD telemetry. It is chrome that does something.

The surface fills the gaps — windows sit in rounded cut-outs, corners always colour-matched

On the bridge

Zil running a real desk — a 49″ Odyssey G9 at 5120×1440, master-centre layout, the rail listing the crew, sensors live in the frame.

Zil tiling a 49-inch super-ultrawide: LCARS frame around tiled apps with live telemetry
Click for full size

Download

Get Zil 0.1.2
Apple silicon · macOS 26+ · 2747 KB
sha256 ecc185b0b10a0506874dc62b700067e8e5a951c7a78ac0fb2bea2effa59e0979
# unpack, install, launch ditto -x -k ~/Downloads/Zil-0.1.2.zip /Applications/ open /Applications/Zil.app # grant Accessibility when prompted — that's the whole setup

Signed with a Developer ID and notarized by Apple — Gatekeeper opens it without warnings. Zil needs the Accessibility permission to move and resize other apps' windows; it never asks for anything else. First run writes ~/.config/zil/zil.toml and takes over from there.

Systems

Bento tiling

Dwindle BSP with Hyprland semantics, plus a master-centre layout that puts your main work in the middle of a 32:9 desk. Drag the orange bars; neighbours follow.

Nine workspaces

Per display, instant switching — no animation tax. ⌃⌥⌘1–9 to go, ⇧ to move a window, a clickable 1–9 strip on the rail. Layouts persist per workspace.

Tile profiles

Dial in an arrangement, save it under a name, recall it exactly — windows matched by app identity, so profiles survive relaunches and reboots.

Ship themes

Daystrom, Enterprise-D, Enterprise-E, Titan, Voyager — one keystroke rotates the whole console. Red alert mode pulses every surface in phase.

Live sensors

Per-core CPU bars, memory pressure, Wi-Fi signal, SSD free space — in the frame itself. The LCARS is instrumentation, not wallpaper.

Web panels

Chromeless site tiles with persistent logins — Claude, Google Messages — plus LCARS·TV, a YouTube tile with volume and playlist hotkeys.

Focus follows mouse

Point at a tile, it's focused. No click, no raise-flicker, and it politely stands down while menus are open or you're dragging.

Self-healing

A hung app never hangs the desk — every app gets its own actor thread. Drifted windows are guided back; stubborn ones get circuit-broken, not fought.

Config as text

One TOML file, hot-reloaded, with per-machine profiles: your 49″ desk and your 13″ Air each get fitting gaps and chrome from the same config.

Hotkeys

⌃⌥⌘ T / R / Gtoggle layout · retile · toggle gaps
⌃⌥⌘ J / Kfocus next / previous — ⇧ swaps instead
⌃⌥⌘ 1–9go to workspace — ⇧ moves the window there
⌃⌥⌘ ⇧S / ⇧Rquick-save / recall a tile profile
⌃⌥⌘ ] / Anext ship theme · red alert
⌃⌥⌘ Spacenext wallpaper
⌃⌥⌘ X / Wfloat ⇄ tile this app · close window
⌃⌥⌘ V / PLCARS·TV · web panels

Every binding is also in the menu-bar console, grouped LCARS-style. A remappable Hyper key is on the roadmap.

Config

One file. Saving it reflows your desk in half a second; an invalid file is refused and the last good one stays live. Zil writes its own changes — theme, TV, exemptions — back into it, preserving your comments.

# ~/.config/zil/zil.toml
[theme]
name = "Daystrom"          # Enterprise-D · Enterprise-E · Titan · Voyager

[gaps]
inner = 9
outer = 18

[[rule]]
bundle = "com.apple.iCal"
action = "workspace 3"

[[profile]]                  # the 13-inch laptop gets tighter chrome
match  = { display_count = 1 }
gaps   = { inner = 5, outer = 10 }
chrome = { side_rail_width = 118 }

Straight answers

Does it disable SIP or inject into system processes?
No — that is the point. Zil is an ordinary signed app using the Accessibility API, like a very fast colleague dragging your windows. Managers that promise per-app transparency or shadow removal do it by injecting into Dock.app with SIP partially off; Zil refuses that trade.
What does it need?
macOS 26 on Apple silicon, and one Accessibility grant on first launch. No kernel extensions, no scripting additions, no helper daemons you didn't ask for.
Is my window data leaving the machine?
Zil makes no network connections of its own — the only sockets belong to the web panels and LCARS·TV you explicitly open, and those are ordinary WebKit views.
Early software?
Yes — 0.1.0. It runs this fleet's daily desks, with an automated smoke suite (restore, drag-resize, workspaces, profiles, hung-app resilience) gating every release.