This is my fork of MLforAll/NewBezelServices, implementing some new and altered functionality according to my own preferences:
- moved the HUD window to bottom-right and shortened delay
- throttled calls when changing volume via mouse interaction with HUD
- added optional remapping of volume keys:
- switchable via shell with 'defaults write com.mlforall.NewBezelServices RemapKeys -int [1|0]'
- default behaviour becomes smaller increments (as normally accessed with alt + shift + key)
- pressing cmd, alt or ctrl reverts to standard increments
- pressing shift still plays / mutes feedback sound according to inverse of current system setting
- removes shortcut to Sound prefpane (as normally accessed with alt + key)
- experiments with checking / granting / monitoring Accessibility Access, as required with 10.14 when remapping key events
This app is a replacement for macOS HUD (for volume, brightness, etc...)
- Uses the same XPC connection as Apple's OSDUIHelper
- Can catch all events Apple's indicator can (altho only 4 are implemented)
- Volume, Brightness, Keyboard Brightness Indicator
- Set Volume and Brightness from indicator
Light Mode
Dark Mode
The app is made to be compatible with Mac OS X Lion and up.
However, the XPC method only works on macOS Sierra and up.
Why ? OS X 10.11 and earlier use a different XPC MachService name as well as the C-based API compared to the Obj-C/Swift API used in macOS 10.12 and later.
Thus, the app deployement target is set to 10.12.
If you want to run it on 10.7-10.11, you can do so by compiling the project in Debug mode.
Because NewBezelServices is using the same XPC connection as Apple's OSDUIHelper, if it is loaded, then NewBezelServices won't get XPC messages (OSDUIHelper will get them instead).
So you need to disable it before installing NewBezelServices.
SIP DISABLED
$ launchctl unload -w /System/Library/LaunchAgent/com.apple.OSDUIHelper.plist
SIP ENABLED
With SIP turned on, you won't be able to unload OSDUIHelper with the command above.
To disable it:
- Reboot your Mac in Recovery Mode (
Cmd + R
at bootup) - Open Terminal
cd /Volumes/Macintosh\ HD/System/Library/LaunchAgents
mv com.apple.OSDUIHelper.plist com.apple.OSDUIHelper.plist__
reboot
To build, just type :
$ make
or open the Xcode project and Cmd + B
.
To install, type :
$ sudo make install
To install NewBezelServices:
- Build the app
- Copy
NewBezelServices.app
somewhere - Copy the
com.mlforall.NewBezelServices.plist
to/Library/LaunchAgents
or~/Library/LaunchAgents
The default path for NewBezelServices.app
is /Library/Services/NewBezelServices.app
If you copy it elsewhere, don't forget to change the path in com.mlforall.NewBezelServices.plist
You cannot use NewBezelServices without a LaunchAgents
The app will open, but won't get any XPC message.