Bright PDF. Dark terminal. Both readable.
Flashbang is a tiny Mac menu‑bar app that dims each window separately based on its own brightness. Bright windows get shaded. Dark windows are left alone. Per‑window dimming, never global.
Brightness Study (white paper)
One brightness slider.
Two very different windows.
These are both open on your desktop right now. Flashbang doesn't change either window's theme or colors — it just dims the bright one and leaves the dark one alone.
Abstract. A bright‑white document on a 1600‑nit panel can throw 3,000+ lumens straight at your retina at midnight.
Most users compensate by turning the global brightness down — which makes the dark window next to it impossible to read.
So you turn it back up. Squint. Repeat. For eight hours.
$ tail -f server.log
NOTE Dark theme, near‑black background. Almost zero light output.
Turn brightness down to soothe the PDF and this terminal vanishes into the bezel.
macOS dims everything. Flashbang dims only the bright one — same window, same theme, same colors, just shaded. The terminal stays untouched.
Toggle it on. Watch the bright one settle.
Click the switch on the demo. The bright PDF dims to a comfortable level. The dark terminal barely moves. That's per‑window dimming.
Per‑pixel brightness
Each window samples its own brightness, every second or so.
Flashbang downscales every visible window to a 32×32 grid, averages the opaque pixels, and feeds that number into a per‑window opacity. A single screen‑spanning overlay paints a transparent black layer with rounded rectangle cutouts at each window's frame — each with its own opacity.
- Bright windows get shaded. Dark ones pass through, completely untouched.
- Hysteresis keeps the dim from flickering on micro‑changes.
- Mission Control, Cmd‑Tab, and Spaces transitions are handled.
- Multi‑display and HDR are first‑class — not afterthoughts.
Three ways to make your screens behave.
- Default · the headline
Per‑Window
Samples every visible window. Bright windows get shaded individually — a white PDF gets 55%, a mid‑bright doc gets 28%. Dark windows like terminals are left untouched. Each window appears to have its own brightness.
⌃ ⌥ ⌘ P - The simple one
Selected‑Window
Dims the entire display from the focused window's brightness only. Fewer moving parts, lighter on the GPU, and the original Flashbang behavior.
⌃ ⌥ ⌘ S - Deep work
Blackout
Hammers other displays into near‑darkness while leaving your focused window readable. Built for multi‑monitor users who want to disappear into one document.
⌃ ⌥ ⌘ B
From screen blast to comfortable read in 4 steps.
Flashbang doesn't tamper with your apps. It paints a single transparent layer with cutouts at each window — and lets every cutout have its own opacity.
- 01
Sample
ScreenCaptureKit grabs a tiny 32×32 brightness sample from each visible window. Samples are averaged in memory and discarded immediately.
~12 ms each ⚡ - 02
Map
A pure brightness‑to‑opacity policy turns each sample into a target dim level, with hysteresis so the overlay doesn't flicker on micro‑changes.
No flicker, ever - 03
Cut
A single screen‑spanning
One layer, many holesCGPathis built with rounded‑rectangle cutouts at every window's frame. Each cutout is its own shape layer. - 04
Paint
Each cutout fades to its computed opacity. Bright windows get heavier shade. Dark windows pass through. To you, every window has its own brightness.
ahh, that's better 😎
Small app. Lots of knobs.
-
Session Brightness
A per‑session brightness dial in the menu bar that doesn't touch the macOS backlight — so closing Flashbang doesn't reset your laptop's brightness.
Ranges 1% – 160% (HDR) -
Warm Mode
Warms display color by reducing blue‑channel output. Toggle it after sundown, flip it off at sunrise. Doesn't touch system Night Shift.
⌃⌥⌘W -
External Display Dimmer
macOS often can't dim external monitors. Flashbang can — apply a baseline shade up to 99% on every external display, even ones with no software backlight control.
Per‑display -
Ignore List
Per‑bundle‑ID opt‑out. Photoshop, Final Cut, color‑calibration tools, your favorite game — anything that should never be touched. Toggle from the menu bar against the focused app.
Right‑click → Ignore -
HDR Boost
For panels with EDR headroom, push the focused window beyond normal max brightness — up to 160% — using an HDR window and a gamma table. MacBook Pros & HDR displays.
XDR / Pro Display XDR -
Animated menu bar
The icon is a tiny brightness meter, 1 to 5. It "breathes" while sampling so you can always see Flashbang doing its job — without opening the menu.
5‑step visualizer -
Multi‑Display
Every connected screen gets its own overlay, painted independently. Drag a window between displays and the dim follows it where it lands.
Up to 6 displays -
Global hotkeys
Every shortcut starts with ⌃⌥⌘, then a single letter. Memorize once, never reach for the menu bar again.
- ⌃⌥⌘F
- Pause / resume dimming
- ⌃⌥⌘P
- Per‑Window mode
- ⌃⌥⌘S
- Selected‑Window mode
- ⌃⌥⌘B
- Blackout mode
- ⌃⌥⌘W
- Warm Mode
-
Fullscreen video hold
Watching a movie? Flashbang detects fullscreen video and freezes the dim instead of flickering on every cut. Comes right back when you exit.
Auto‑detected
Flashbang stays on your machine.
Screen Recording is a scary permission. We get it. So Flashbang asks for it, then uses it in the lightest way macOS allows — and nothing leaves your computer.
— signed, the developer.One indie dev. One small fee. Eyes thank you.
Flashbang ships through the Mac App Store — sandboxed, notarized, and updated automatically. Buy once, install on every Mac you own with the same Apple ID.
- Per‑Window dimming, the headline mode
- Selected‑Window mode & Blackout mode
- Session brightness · Warm Mode · HDR Boost
- External display dimmer (up to 99% baseline)
- Ignore list, global hotkeys, launch at login
- Free updates forever (App Store auto‑update)
Stuff Mac users ask before installing.
Can't find your question? Email flashbang@bangflash.com — usually replied within a day.
-
01 Why does Flashbang need Screen Recording permission?
Because the only macOS API that lets us read the actual brightness of a window is ScreenCaptureKit, which is gated behind that permission. Flashbang asks once, then uses it in the lightest possible way: it captures a 32×32 sample per visible window, averages it, and discards it. Nothing is written to disk, sent over the network, or shared with another process.
-
02 Will it slow my Mac down?
No noticeable impact. The sampling pipeline runs about every second, takes ~12 ms, and the rendering uses a single CALayer with cutouts — the same kind of cheap compositing your Mac already does for menu shadows. Idle RAM is around 30 MB.
-
03 Does it work with multiple monitors?
Yes — multi‑display is a first‑class case. Each connected screen gets its own overlay, painted independently. There's also an external‑display baseline dimmer for monitors macOS can't control directly, and a Blackout mode that keeps just your focused display readable.
-
04 Apple Silicon, Intel, or both?
Universal binary — runs natively on both. macOS 14 (Sonoma) or newer. HDR Boost is only available on panels that report EDR headroom (MacBook Pro 14"/16", iMac, Studio/Pro Display XDR, certain HDR external monitors).
-
05 What's the difference between the modes?
Per‑Window dims every window independently from its own brightness — the headline mode.
Selected‑Window dims the whole screen from just the focused window. Lighter, simpler, the original behavior.
Blackout hammers other displays into near‑darkness while leaving your focused window readable — for deep work on a multi‑monitor rig. -
06 Can I try it before paying?
Yes. Flashbang ships with a built‑in 7‑day free trial through the Mac App Store — install it, use every feature, no card required up front. After day seven you'll be asked once whether you want to keep it for $19.99 (one‑time, all your Macs). If not, it just stops dimming. Nothing to cancel, nothing to uninstall in a hurry.
-
07 Does Flashbang play nice with Night Shift / True Tone / f.lux?
Yep. Night Shift and True Tone change color temperature; Flashbang changes apparent brightness — they're orthogonal. f.lux works alongside it as well. Flashbang's Warm Mode is a separate optional layer if you want a single app to handle both.
-
08 What if it dims something I don't want dimmed?
Add it to the Ignore List. The menu bar has a one‑click "Ignore current app" toggle that pins the focused app's bundle ID — Photoshop, Final Cut, color tools, or your favorite indie game. Flashbang will leave any window from that app fully untouched.
-
09 Is it really private?
Really, really. Flashbang is sandboxed: no network entitlement, no analytics SDK, no telemetry, no account, no server. The PrivacyInfo.xcprivacy file shipped with the app declares zero data collection, and it's reviewed by Apple. Brightness samples are 1024 numbers held in memory for milliseconds and then thrown away.
Your eyes shouldn't
flinch at every PDF.
Flashbang is a 4.2 MB menu‑bar utility that fixes the mixed‑brightness desktop the moment you install it. No account, no subscription, no telemetry. Just sunglasses for your bright windows.