✨ Add 'Ignore notch' option for consistent top padding across screens#1048
Conversation
mrkai77
left a comment
There was a problem hiding this comment.
Thanks for the PR! Overall, this works well and the logic is correct. However, I think ignoreNotch belongs as a global setting rather than on PaddingConfiguration.
A couple of reasons:
- It's a hardware/setup concern, not a padding preference. Whether to compensate for the notch is a property of the user's display setup, not a specific padding configuration. Conceptually it fits better as a global toggle (e.g.
Defaults[.ignoreNotch]). Given that this is a fairly niche setup (hidden menu bar + external bar + notch display), I'd lean toward making it adefaults writeoption rather than a visible UI toggle. This also avoids adding complexity to the settings UI for something most users won't need. - It avoids the custom Codable conformance. Right now the PR replaces the auto-synthesized Codable with a manual
init(from:)just to defaultignoreNotchto false for existing configs. Pulling the flag out into a separate Defaults key letsPaddingConfigurationgo back to synthesized conformance, keeping it clean.
3c546c2 to
7064917
Compare
7064917 to
9920c5b
Compare
|
Thnx for the review,
|
|
@kjvdven Does that still work for you? |
Have you set the variable in the terminal? defaults write com.MrKai77.Loop ignoreNotch -bool true |
I have, but I can not see any changed behaviour. |
|
@cyb3rko could you check if the macOS window manager is enabled in the Advanced tab? That setting can interfere with this feature. Also, make sure you’re running the latest development version :) |
|
Well, call me stupid. Thanks to both of you |
Adds an defaults write option "Ignore notch". When enabled, the notch height is subtracted from the top padding on notched displays, so the effective distance from the screen's top edge matches non-notch displays.
Users can enable with:
Reset with:
Users with an external menu bar (e.g. SketchyBar) and the system menu bar hidden experience inconsistent top padding between notched and non-notch displays. On a notched MacBook,
NSScreen.visibleFramereserves space for the notch (~32pt), and the external bar padding stacks on top of that — resulting in more top gap than on an external monitor.When "Ignore notch" is enabled,
applyToBoundssubtractsscreen.menubarHeightfromtotalTopPadding(clamped to 0), compensating for the notch reserve. Backward-compatible: customCodableinit defaultsignoreNotchtofalsefor existing configs.Fixes #691
How has this been tested?
Tested on a MacBook Pro (notch) with an external monitor, system menu bar hidden, SketchyBar as external bar with 40px external bar padding configured in Loop.
defaults write com.MrKai77.Loop ignoreNotch -bool true: top padding matches external monitor (40px from screen top)defaults delete com.MrKai77.Loop ignoreNotch: top padding is 40px + notch height (existing behavior)macOS 15, Loop built from develop branch.
Checklist:
Please describe to which degree, if any, an LLM was used in creating this pull request.
This change was developed with assistance from Claude (Anthropic). The approach (subtracting
screen.menubarHeightfrom top padding when the toggle is enabled) was designed collaboratively — the math and edge cases were worked through together, and all code was reviewed, understood, and tested by the contributor on a real notch + external monitor setup.