Press ⌃⌥⌘ Space and every Brave window flies to the external monitor and fills it. A resident macOS tool in ~140 lines of Swift — fires in milliseconds.
✓ Fill, not fullscreen — no Spaces created, no green-button limboOne file. No dependencies. No network. MIT licensed.
Four Brave windows, scattered across the laptop.
How it works
01 · chord
The daemon sits resident with near-zero idle CPU, so it fires in milliseconds. It re-reads your displays on every press — plug the monitor in whenever you like.
02 · sweep
All of Brave's windows head for the external monitor. Minimized ones stay put in the Dock, and native-fullscreen windows are left alone — their Space owns them.
03 · filled
Each window fills the monitor's usable area — like option-clicking the green button, but for all of them at once. Mixed resolutions and macOS's flipped coordinate math are handled for you.
The permission
There's no way around it: moving another app's windows requires the Accessibility permission, and macOS has no narrower scope than "everything on screen." So the real question is who holds the grant. BraveFill's answer: ~140 lines you compiled yourself, wrapped in a single-purpose .app.
A full window manager — thousands of lines of someone else's code, auto-updating under a permission that never re-prompts
Your terminal — every script, installer, and curl | sh you ever run inherits whole-screen control
A scripting engine — the grant covers whatever config it loads next
The .app is the granted identity — launched via open, so your terminal never appears in the Accessibility list
Auditable in one sitting — one source file, only Apple frameworks, compiled on your machine
Sign it once, rebuild freely — a self-made certificate keeps the identity stable, so the grant survives every recompile
Configure
No preference panes, no dotfiles. Edit, rebuild, done — and despite the name, pointing bundleID at any other app works just as well.
Fill respects your menu bar and Dock by default; flip useVisibleFrame for the raw resolution.
Any chord you like. ⌃⌥⌘ Space ships because three modifiers collide with nearly nothing.
3+ monitors: the first non-primary display wins. Multi-external choreography is deliberately not a feature.
A beep means "no" — never silence. The reason lands in the unified log, one log stream away.
// the knobs — top of bravefill.swift let bundleID = "com.brave.Browser" // monitor minus menu bar & Dock (false = raw) let useVisibleFrame = true // Ctrl + Option + Cmd + Space let hotKeyCode = UInt32(kVK_Space) let hotKeyMods = UInt32(cmdKey | optionKey | controlKey) // the trick that makes cross-display sizing stick: // position → size → position → size, per window
Install
Needs only Apple's command line tools (xcode-select --install). The README walks through every step: bundle it as a background .app, sign it, grant Accessibility to the app — never to a terminal — and press the chord.
# clone and build git clone https://github.com/Neilos-Thumm/BraveFill && cd BraveFill swiftc bravefill.swift -o bravefill -framework Cocoa -framework Carbon # then follow the README: bundle → sign → grant → chord
Slow-reader friendly: the README assumes nothing and explains every prompt macOS will show you, including the one gotcha — after granting, restart the tool, because permission changes never reach a running process.