The notch Windows never had.

Dynamic Notch puts a small black island at the top of your screen. Music, timers, downloads, dictation and AI live inside it. It grows when something happens and gets out of the way when nothing does.

Free and open source. Windows 10 and 11, x64 and ARM64.

Small until something happens.

The notch moves between four sizes with the same spring physics the app uses. Scroll to step through them.

  1. 1

    Rests

    A 188 by 32 pixel notch at the top of your main monitor. Hover it and it leans toward your cursor. It hides for fullscreen games, videos and presentations.

  2. 2

    Lives

    When music plays or a timer runs, the notch widens just enough to show it: album art and a visualizer, or a countdown ring. A second live activity gets its own bubble.

  3. 3

    Peeks

    Events slide out for about three seconds. A finished download, a plugged-in charger, Caps Lock, a new track. Click a peek to open what it's about.

  4. 4

    Opens

    Hover, click or press Ctrl Alt N for the full panel on frosted glass. It closes as soon as your mouse leaves.

188 × 32 px

Twelve modules, one place for them.

Each module is a single Rust file that sleeps until Windows tells it something changed. Hover or tap one to try it in the notch at the top of this page.

Media

Artwork, title and controls for whatever is playing. The visualizer takes its color from the album art.

System Media Transport Controls

Timer

Timers and a stopwatch, with a countdown ring in the notch. Ctrl Alt T starts one.

Ticks only while running

Downloads

Browser downloads with size and speed, and a peek when they finish. Open the file or its folder from there.

ReadDirectoryChangesW

Clipboard

Your recent copies: text, links, files and images. Click one to copy it again.

Memory only, skips password managers

Shelf

Drop files on the notch to park them, then drag them out into any folder or app later.

OLE drag and drop

Dictation

Hold Ctrl Alt D and speak. The text is typed into the app you were using.

WASAPI capture, Whisper on Groq

Ask AI

A quick prompt on Ctrl Alt Space, with streamed answers and follow-ups.

OpenRouter, any model

Mic and camera

A green or orange dot whenever an app is using your microphone or camera, and a peek naming it.

Windows capability consent store

Ports

Local dev servers on localhost as they start, each with an Open button.

TCP listener table

Lock keys

A short peek when Caps Lock, Num Lock or Scroll Lock changes, so you stop typing in capitals.

Raw keyboard input

Battery

Level and charging state in the header, with peeks for plugged in, unplugged, low and full.

WM_POWERBROADCAST

Claude Code

Tells you when Claude finishes or needs you. Click the peek to bring its terminal back.

Stop and Notification hooks

Your scripts can use it too.

Run the exe again while the notch is running and it hands the command to the running notch. Put it at the end of a build, a render or a backup.

Windows PowerShellWatch the notch at the top of the page

          

Know when Claude is done.

Add dynamic-notch claude as a Stop and Notification hook in Claude Code. It stays quiet while you're looking at the terminal Claude runs in, and peeks when you're not. Clicking the peek brings that terminal to the front.

"hooks": {
  "Stop": [{ "hooks": [{
    "type": "command",
    "command": "dynamic-notch claude"
  }] }],
  "Notification": [{ "hooks": [{
    "type": "command",
    "command": "dynamic-notch claude"
  }] }]
}

Zero CPU while it waits.

Written in Rust on the Windows compositor. Nothing is drawn unless something changes, and the visualizer is animated by the compositor itself, so music costs no CPU either.

  1. Visualizeranimated by the compositor
  2. ContentDirect2D, composition swap chain
  3. Backdrop blurHostBackdropBrush
  4. Your desktopwhatever is behind the notch
Idle CPU
0 ms per 10 s
Memory
25 MB private, idle
Download
1 MB no runtime needed
Startup
0.35 s to first frame

Measured on an ARM64 laptop at 4K and 150% scaling, release build.

Frames only while it moves.

This graph counts the frames drawn by the notches on this page, which work the same way as the app. Hover the notch at the top, then watch it fall back to zero.

Frames per second0

Set up in a minute.

  1. Download

    Get the x64 or ARM64 zip from the latest release and unzip it anywhere, or build it yourself with cargo build --release.

  2. Run it

    The notch appears at the top of your main monitor. Right-click it, or use the tray icon, to pick modules, a monitor and autostart.

  3. Add keys, if you want AI

    Ask AI uses OPENROUTER_API_KEY and dictation uses GROQ_API_KEY. Put them in a .env file. They are never written to the config.

%APPDATA%\DynamicNotch\config.toml

[general]
monitor = "primary"        # or "active", 1, 2…
expand_on_hover = true
idle_style = "notch"       # "pill" | "hidden"

[appearance]
blur = true
bounce = 0.3                # spring overshoot
accent = "auto"           # from album art

[hotkeys]
toggle = "Ctrl+Alt+N"
ai = "Ctrl+Alt+Space"
dictate = "Ctrl+Alt+D"

Changes apply as soon as you save the file.

Questions

Will it run on my PC?

It needs Windows 10 version 1903 or later. Windows 11 is recommended for the frosted glass. x64 and ARM64 both work, and there is nothing else to install.

Will it get in the way of games?

No. The notch hides when a game, video or presentation goes fullscreen, and it doesn't draw anything while it's idle.

Where are my API keys kept?

Only in an environment variable or a .env file next to the exe or in %APPDATA%\DynamicNotch. They are never stored in the config. AI and dictation are optional; everything else works without a key.

Does my clipboard history leave my computer?

No. It's kept in memory only, cleared when you quit, and items that password managers mark as sensitive are skipped.

Can I add my own module?

Yes. Implement the Module trait in Rust and add it to modules::all(). A module can show a live activity, peeks, a home card and its own tab.

What does it cost?

Nothing. Dynamic Notch is open source under the MIT license.

Look up.

Free, open source, and about a megabyte.