7‑day free trial · then $19.99 · Mac App Store

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.

Lives in your menu bar. No Dock icon. macOS 14+ · Apple Silicon & Intel · 4.2 MB
Automatic sunglasses for bright windows.
File Edit View
Flashbang 9:41
brightness‑study.pdf

Brightness Study (white paper)

~/dev/flashbang — zsh
$ swift run flashbang
→ Sampling 12 windows…
→ Bright window: opacity 0.55
→ Dark window: untouched (0.00)
→ Painting overlay…
$
Dimming
Two windows · same screen · same moment

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.

Window 1 · Preview.app Whitepaper.pdf

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.

⚠ Estimated 96% bright dim me, please.
Window 2 · iTerm2 ~/dev/your‑project

$ 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.

✓ Estimated 4% bright leave me alone.

macOS dims everything. Flashbang dims only the bright one — same window, same theme, same colors, just shaded. The terminal stays untouched.

Live demo

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.

Finder File Edit View
Flashbang ⏵ 36% · per‑window
research‑notes.pdf

Per‑pixel brightness

~/dev/flashbang — zsh
$ flashbang sample
window 1 · pdf · 96% bright → dim 55%
window 2 · term · 4% bright → untouched
→ overlay updated
$
Dimming

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 modes · pick your vibe

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
How it works

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.

  1. 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 ⚡
  2. 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
  3. 03

    Cut

    A single screen‑spanning CGPath is built with rounded‑rectangle cutouts at every window's frame. Each cutout is its own shape layer.

    One layer, many holes
  4. 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 😎
Everything else, in one menu bar

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
Privacy posture

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.
No screenshots are stored.
Brightness samples — tiny 32×32 grids — live in memory for milliseconds and are discarded.
No screen recording.
Despite needing the permission, Flashbang never captures full‑screen video. Just per‑window samples.
No analytics. No tracking. No telemetry.
We don't know when you launch Flashbang. We don't want to.
Nothing leaves your computer.
Flashbang has no server, no cloud, no account. Sandboxed and reviewed by Apple's App Store team.
Get Flashbang

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)
Family Sharing. One purchase covers up to six people in your Apple Family. Flashbang stays small, indie, and out of your way.
Frequently asked

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.

Hey, fellow Mac user —

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.

🍎 macOS 14+ · 📦 4.2 MB · 🆓 7‑day free trial · 🔒 Stays on your Mac