Repository navigation
Fix UI display issues and improve macOS Tahoe/Sequoia support - #1827
arsarsars1 wants to merge 16 commits into
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.
|
@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 # Conflicts: # MonitorControl/UI/cs.lproj/Localizable.strings
Made-with: Cursor
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. |
|
(note: some of the issues - like the funny looking sliders - are because |
…andler.swift conflicts
- Make Custom HUD background transparent to avoid square opaque corners - Update custom HUD icon and slider colors for better macOS integration - Adjust Menu Slider icon padding and layout constraints
|
I’ve pushed a few UI/UX refinements to address the aesthetic issues and bring the project closer to native macOS styling:
Attached are two screenshots showing the improved look. @waydabber
|
…ry validation entitlement
|
Hi @arsarsars1 我认为 @waydabber 的意思是让第三方显示器在使用Monitor Control调节亮度和音量的时候,看上去更像是在调节Apple公司出品的XDR Display 或 Studio Display一样,当按下 亮度+/- 或 音量+/-、静音 时,屏幕上可以显示(或模仿)类似macOS Tahoe原生UI的那种效果。
因为目前版本(4.3.3)的Monitor Control调节第三方显示器时,可以在Sequoia或以前版本的macOS调用原生UI,但是无法在Tahoe上正常调用系统UI,目前的思路是,既然无法调用系统UI,就制作一个复刻的Tahoe的UI。 Hi @arsarsars1, I think what @waydabber means is that when using Monitor Control to adjust brightness and volume on third-party displays, it should look more like adjusting an Apple XDR Display or Studio Display — i.e., when pressing brightness +/- or volume +/- / mute, the on-screen display should show (or mimic) an effect similar to the native macOS Tahoe UI. |












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