Fix UI display issues and improve macOS Tahoe/Sequoia support#1827
Fix UI display issues and improve macOS Tahoe/Sequoia support#1827arsarsars1 wants to merge 7 commits intoMonitorControl:mainfrom
Conversation
- **Menu Bar Slider**: - Redesigned layout to column style (icon above slider). - Aligned icon to left-start. - Increased vertical spacing and view height for better touch target and aesthetics. - Fixed icon vs slider overlap issues. - **Preferences UI**: - **Displays**: Fixed truncated friendly name text field, increased height, and improved vertical alignment. - **About**: Fixed truncated app name text. - **Keyboard**: Improved layout of accessibility troubleshooting buttons (Help/Reset), added container/label for better grid alignment. - **macOS Tahoe Support**: - Added accessibility permission reset functionality. - Implemented Custom HUD fallback for cases where native OSD is broken.
|
Hi @arsarsars1, thank you for the pull request, I really appreciate it. I am not sure I am entirely comfortable with the new menu layout, having the icons above the slider looks kind-of Strange (if we'd like to follow Tahoe style, maybe a min/max icon at both end of the slider might be better. Also, the super-small knob feels a bit strange:
Regarding the OSD, it might need some things to iron out. There seem to be white corners (beyond the rounding) and the yellow brightness icon does not seem to fully follow the macOS vibe.
Because of this, I am not yet ready to accept this PR just yet, but I leave it hanging here. But again, I appreciate your work, I just recommend iterating a bit on this. |
|
@arsarsars1 are you planning on addressing the above issues ? |
|
Hi @sidevesh, I will resolve the issues in the PR today. Thank you |
Made-with: Cursor # Conflicts: # MonitorControl/UI/cs.lproj/Localizable.strings
Made-with: Cursor
- Updated CFBundleVersion in Info.plist files for both MonitorControl and MonitorControlHelper. - Adjusted HUD dimensions and layout in CustomHUD.swift for improved aesthetics. - Enhanced SliderHandler to support accent fill for better visual distinction in menu symbols.
- Add KeyboardVolume.mediaForce and UI for always capturing volume/mute keys - Clean up CustomHUD windows when displays are cleared - Fix SliderHandler percentage label update (remove tautology check) - CustomHUD: RunLoop.common timer, drop unused SwiftUI import - Widen volume control popup for new menu item; en Main.strings Made-with: Cursor
|
Hi @waydabber, the pr is updated. Thank you |
- Draw the original soft ring + inner edge on BlockBorderOverlayView so the pre–visual-effect border look returns without relying on layer draw. - Use NSVisualEffectView material .menu and blending .withinWindow so the card matches standard NSMenu rows (replacing .popover / .behindWindow). - Light appearance uses a separator stroke instead of a white fill over the blurred material. - Bump CFBundleVersion to 7182 in app and helper Info.plist. Made-with: Cursor
|
Latest push (
|
|
@waydabber can we get this pr in now that @arsarsars1 has fixed the issues ? |
|
@sidevesh yeah, the issue was fixed. It's ready for review. Thank you |
|
Hi all, sorry for being slow will this, I'll review soon and let you know if there is anything else. |


Overview
This PR addresses UI display issues and improves macOS Tahoe (15.x) / Sequoia compatibility, with follow-up fixes for OSD behavior, keyboard volume capture, and HUD lifecycle.
Changes Made
UI Fixes
Menu Bar Slider
Preferences — Displays Tab
Preferences — About Tab
Preferences — Keyboard Tab
tccutilwhere applicable)macOS Tahoe / Sequoia / 26 Support
Custom HUD for broken native OSD
OSDUtilsuses a custom HUD (CustomHUD.swift) instead of privateOSDManagerwhere native OSD no longer shows reliable percentage/updates (per project README note on Tahoe)RunLoopcommon mode so the timer still fires during nested run-loop activityCustomHUD.swiftHUD lifecycle
DisplayManager.clearDisplays()callsCustomHUDManager.cleanupDisplayper display so HUD windows/timers are not left behind after display reconnect or reconfigureSlider
percentageBoxguard)Files Touched (high level)
MonitorControl/Support/CustomHUD.swift— custom OSD UIMonitorControl/Support/OSDUtils.swift— route to custom HUD on macOS 26+MonitorControl/Support/SliderHandler.swift— menu slider layout & symbol rendering; percentage label fixMonitorControl/Support/DisplayManager.swift— HUD cleanup when clearing displaysMonitorControl/Support/MediaKeyTapManager.swift—KeyboardVolume.mediaForcehandlingMonitorControl/Enums/PrefKey.swift—mediaForcecaseMonitorControl/Support/AppDelegate.swift,OnboardingViewController.swift— accessibility prompts include force-capture volume modeMonitorControl/UI/Base.lproj/Main.storyboard,MonitorControl/UI/en.lproj/Main.strings— new volume menu item + layoutMonitorControl.xcodeproj/project.pbxproj,Info.plistfiles — project / version as neededTesting
Related