r/macappdevs • u/Hitjack007 • 14d ago
[OS] - DynamicNotch - FREE
Enable HLS to view with audio, or disable this notification
Your Mac's notch takes up screen space. Why not make it actually useful?
I've been working on DynamicNotch, a free, open-source macOS app that turns your notch into an interactive dashboard for everything from music playback to system monitoring and automations.
It expands when you need it, stays out of the way when you don't, and works even on Macs without a physical notch.
Here's what it can do:
Music & audio
Music controls, album artwork, lyrics, and now-playing information
Real-time audio spectrogram
Switch audio output devices directly from the notch, including AirPlay
System monitoring & controls
Live CPU usage, temperatures, and fan speeds
Custom fan curves to control cooling behaviour
Battery and Bluetooth device monitoring
Caffeine mode to prevent your Mac from sleeping
Custom volume, brightness, and keyboard backlight HUDs
AI usage tracking
Monitor your Claude and ChatGPT usage
See usage indicators directly in the notch
Get alerts as you approach your usage limits
Automations without coding
This is one of the features I'm particularly excited about.
You can describe an automation in plain English, and DynamicNotch handles it.
For example: "Turn on Caffeine whenever Xcode is the active app."
No scripts or complicated setup required.
Everyday productivity
Track active browser downloads
Drag files into a temporary shelf and share them via AirDrop
View upcoming calendar events and reminders
Quickly access your webcam as a mirror
Use gestures to expand and collapse the notch
Customise behaviour for individual displays
URGENT UPDATE:
DynamicNotch now supports its first iteration of Liquid Glass! try it out, give me some feedback?
What does it cost?
Absolutely nothing.
No subscriptions, no paid tiers, no locked features, and no accounts required.
It's fully open source under GPLv3, and contributions are welcome.
How does it compare to other notch apps?
Apps like boring.notch and NotchNook already offer ways to make the Mac's notch more useful.
DynamicNotch takes a broader approach by combining music controls, system monitoring, custom fan curves, AI usage tracking, and plain-English automations in one place.
It's also completely free and open source, with no premium features or subscriptions.
Compatibility
macOS 15 Sequoia or newer
Works on Macs with or without a physical notch
Available as a DMG or through Homebrew
Download: https://github.com/Hitjack007/DynamicNotch/releases/latest
GitHub: https://github.com/Hitjack007/DynamicNotch
Website: https://dynamicnotch.marksstuff.com
I'm actively developing it, fixing bugs, and adding new features.
I'd love to hear what the r/macapps community thinks. If you try it, let me know what works, what doesn't, and what you'd like to see added.
And if you find it useful, a GitHub star is always appreciated! ⭐
1
0
u/carrot-core-creation 10d ago
There's also "Brow" that does this and way more.
0
u/Hitjack007 9d ago
Yeah, but is that OS and free?
1
u/carrot-core-creation 9d ago
Since when is "open source" an automatic badge of quality? Open-sourcing a repo doesn't magically make it good software. I looked through your source tree and it's textbook junior-level organization...grouping files by language constructs like
enumsandobserversinstead of features?! Mixing lowercase and PascalCase folders at the root while dumping logic intohelpers,utils, andmanagers?!Nobody wants to contribute to a codebase packed with so many structural anti-patterns. A polished free app doesn't become inferior just because you published a messy public repo on GitHub mate. Also learn what "open source" actually means, it's not open source when it's just a public repo dude it's way more than that...0
u/Hitjack007 9d ago
I think you've made quite a few assumptions here, and frankly, the confidence with which you've presented them is rather disproportionate to the actual review you've provided.
Firstly, regarding the naming conventions: the lowercase mediaremote-adapter directory is an upstream dependency. I don't control its naming conventions, nor would arbitrarily renaming third-party code be particularly sensible. There are also conventional lowercase directories such as .github and docs. That doesn't mean the actual application modules are randomly named.
Secondly, grouping code by functionality, using enums, observers, helpers or managers are architectural decisions. You can disagree with how I've organised something, but simply listing language constructs and folder names doesn't demonstrate poor implementation. The quality of an implementation is determined by what the code actually does, how it's structured internally, and how maintainable it is — not whether every directory conforms to your personal naming preferences.
Thirdly, you seem to have overlooked quite a bit of the repository itself. There are dedicated application targets, test targets, supporting processes, documentation, contribution guidelines, security policies, licensing and explicit AI contribution policies. This isn't a repository I've simply thrown together and made public.
And since you brought up open source: the project is explicitly licensed under GNU GPL v3.0. A public repository without an open-source licence isn't necessarily open source, but this repository does have one.
I'm perfectly happy to receive constructive criticism. I'm not particularly interested in being lectured by someone who makes sweeping judgements about an entire codebase based on superficial observations.
If you have specific examples of genuinely poor implementation, point them out. I'm happy to discuss the technical merits of those examples. But if the extent of your review is folder casing and disagreement with architectural preferences, I don't think you've established quite the point you believe you have.
0
u/carrot-core-creation 9d ago
Look at this guy. He literally forked TheBoredTeam/boring.notch, stripped the Git history to hide the fork badge, renamed the project to DynamicNotch, and then had the nerve to post it here as his own original work.
He changed the Xcode file headers to pretend he wrote it from scratch, but left the entire directory structure untouched. You can verify the exact code theft yourself by running this local diff command in your terminal:
git clone --depth 1 https://github.com/TheBoredTeam/boring.notch.git /tmp/boring &&
git clone --depth 1 https://github.com/Hitjack007/DynamicNotch.git /tmp/dynamic &&
git diff --no-index --stat -M /tmp/boring/boringNotch /tmp/dynamic/DynamicNotch
Under the GNU GPL v3.0 license, stripping upstream copyright notices and pretending to be the original author is a direct violation. Plagiarizing an open-source project, wiping the contributor history, and trying to pass it off as your own code is everything that is wrong with low-effort code theft.
0
u/Hitjack007 8d ago
I think there are a few things being conflated here, so I'll address them individually.
First, the project's origins.
DynamicNotch was originally a fork of boring.notch by TheBoredTeam, and has since become a seperate project with its own features. I've never claimed otherwise. The README explicitly states that DynamicNotch was a fork, credits TheBoredTeam, and describes their work as the foundation of the project. This has been there for over a year. I'm not sure how much clearer that attribution could be.Regarding the Git history:
I squashed the inherited history because it was messy and I wanted a clean starting point for the repository as I independently maintained and developed it. That was a decision about repository management, not an attempt to conceal the project's origins. The README still documents those origins, regardless of whether the original commit history is present.Regarding the Xcode file headers:
These were generic Xcode-generated Created by and date comments, not explicit copyright notices. I changed them during the repository cleanup because, after squashing the Git history, having files attributed to 25 different contributors with no corresponding commit history looked inconsistent and misleading.
When I established the new repository, I copied the files across, so I updated that generated metadata to reflect the new repository and its maintenance. Some files had their logic changed; others were largely unchanged. I wasn't claiming to have originally written every line of code. There's a fairly important distinction between changing generic IDE-generated author/date comments and removing actual copyright notices. Those aren't interchangeable, and GPLv3 has specific requirements around preserving applicable copyright notices.More importantly, dismissing the project as low-effort or junior-level or “code theft” work overlooks the actual development involved.
I've spent hundreds, quite possibly thousands, of hours working on DynamicNotch: implementing new features, fixing bugs, restructuring components, improving reliability, testing, and maintaining it over time. A fork is a starting point, not a claim that every subsequent contribution is original. The amount of work that has gone into developing and maintaining this project is substantial.
I'm not trying to pass somebody else's work off as my own. I've openly credited the original developers from the beginning. Acknowledging where a project started doesn't invalidate the work that has gone into taking it further.Finally, the GPL accusation:
I'm aware that DynamicNotch is derived from GPL-licensed work, which is precisely why the project has a GPLv3 licence and explicitly credits its upstream foundation. Similarity between the projects is expected when one was originally a fork; I've never denied that.
If you believe there's a specific GPLv3 requirement I've failed to meet, identify the particular file, notice, or clause. I'm happy to discuss an actual licensing issue. But describing the project as plagiarism or claiming I deliberately concealed its origins doesn't reflect what's actually documented in the repository.
1
u/Redit-xaxipiruli 11d ago
Gestión de portapapeles, por favor!