Rename app to XDRMonitorBrightness

This commit is contained in:
Shay Prasad 2026-04-08 12:39:05 +01:00
parent fc19ce2bd2
commit 81963f99ae
4 changed files with 72 additions and 90 deletions

View file

@ -883,7 +883,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 4.3.2;
PRODUCT_BUNDLE_IDENTIFIER = app.monitorcontrol.MonitorControl;
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_NAME = XDRMonitorBrightness;
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "MonitorControl/Support/Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@ -920,7 +920,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 4.3.2;
PRODUCT_BUNDLE_IDENTIFIER = app.monitorcontrol.MonitorControl;
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_NAME = XDRMonitorBrightness;
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "MonitorControl/Support/Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-O";

View file

@ -57,8 +57,7 @@ class AboutPrefsViewController: NSViewController, SettingsPane {
}
func setCopyrightInfo() {
let copyright = NSLocalizedString("Copyright Ⓒ MonitorControl, ", comment: "Version")
let year = Calendar.current.component(.year, from: Date())
self.copyrightLabel.stringValue = "\(copyright) \(year)"
self.copyrightLabel.stringValue = "XDRMonitorBrightness — fork by @shayprasad. Original © MonitorControl contributors \(year). MIT License."
}
}

121
README.md
View file

@ -1,19 +1,16 @@
<img src=".github/Icon-cropped.png" width="200" alt="App icon" align="left"/>
<div>
<h3>MonitorControl</h3>
<p>Controls your external display brightness and volume and shows native OSD.
Use menubar extra sliders or the keyboard, including native Apple keys!</p>
<a href="https://github.com/MonitorControl/MonitorControl/releases"><img src=".github/macos_badge_noborder.png" width="175" alt="Download for macOS"/></a>
<h3>XDRMonitorBrightness</h3>
<p>A fork of <a href="https://github.com/MonitorControl/MonitorControl">MonitorControl</a> by <a href="https://github.com/shayprasad">@shayprasad</a> with XDR extended brightness support for MacBook Pro Liquid Retina XDR and Pro Display XDR.</p>
</div>
<br/><br/>
<div align="center">
<a href="https://github.com/MonitorControl/MonitorControl/releases"><img src="https://img.shields.io/github/downloads/MonitorControl/MonitorControl/total.svg?style=flat" alt="downloads"/></a>
<a href="https://github.com/MonitorControl/MonitorControl/releases"><img src="https://img.shields.io/github/release-pre/MonitorControl/MonitorControl.svg?style=flat" alt="latest version"/></a>
<a href="https://github.com/MonitorControl/MonitorControl/blob/master/License.txt"><img src="https://img.shields.io/github/license/MonitorControl/MonitorControl.svg?style=flat" alt="license"/></a>
<a href="https://github.com/MonitorControl/MonitorControl"><img src="https://img.shields.io/badge/platform-macOS-blue.svg?style=flat" alt="platform"/></a>
<img src="https://img.shields.io/badge/fork-MonitorControl-orange.svg?style=flat" alt="fork"/>
<br/>
<br/>
@ -24,17 +21,19 @@ Use menubar extra sliders or the keyboard, including native Apple keys!</p>
<hr>
> [!NOTE]
> **XDRMonitorBrightness** is a personal fork of MonitorControl, maintained by [@shayprasad](https://github.com/shayprasad). It is not affiliated with or endorsed by the original MonitorControl project. For the official app, see [MonitorControl](https://github.com/MonitorControl/MonitorControl).
> [!WARNING]
> MonitorControl v4.2.0 [may crash](https://github.com/MonitorControl/MonitorControl/issues/1663) on certain configurations running macOS 15 Sequoia or Tahoe. Additionally, this version will not automatically update to the [latest app version](https://github.com/MonitorControl/MonitorControl/releases). To resolve the issue and ensure future updates, please upgrade manually.
> This fork adds XDR extended brightness control, which drives your display above its standard maximum brightness. This may increase heat output and reduce battery life. Use responsibly.
## Download
## What's different in this fork
Go to [Releases](https://github.com/MonitorControl/MonitorControl/releases) and download the latest `.dmg`, or you can install via Homebrew:
```shell
brew install --cask monitorcontrol
```
- **XDR Extended Brightness** — Unlocks brightness above the standard system maximum (100%) on MacBook Pro Liquid Retina XDR and Pro Display XDR displays. A red zone appears on the slider when in the extended range. Enable via an opt-in warning dialog the first time you reach maximum brightness.
- **XDR Safety Controls** — "Reset to Standard Brightness" and "Disable XDR Extended Brightness" menu items let you quickly return to normal range.
- **Brightness sync respects XDR range** — When syncing brightness across displays, the target display's maximum (including XDR) is respected.
## Major features
## Original MonitorControl features
- Control your display's brightness, volume and contrast!
- Shows native OSD for brightness and volume.
@ -45,62 +44,8 @@ brew install --cask monitorcontrol
- Sync up all your displays using a single slider or keyboard shortcuts.
- Allows dimming to full black.
- Support for custom keyboard shortcuts as well as standard brightness and media keys on Apple keyboards.
- Dozens of customization options to tweak the inner workings of the app to suit your hardware and needs (don't forget to enable `Show advanced settings` in app Settings).
- Simple, unobtrusive UI to blend in to the general aesthetics of macOS.
- Completely FREE.
For additional features, more advanced brightness control with XDR/HDR brightness upscaling and support for more Mac models and displays, check out [BetterDisplay](https://github.com/waydabber/BetterDisplay#readme)!
### Screenshots (Settings)
<div align="center">
<img src=".github/pref_1.png" width="392" alt="Screenshot"/>
<img src=".github/pref_2.png" width="392" alt="Screenshot"/>
<img src=".github/pref_3.png" width="392" alt="Screenshot"/>
<img src=".github/pref_4.png" width="392" alt="Screenshot"/>
</div>
## How to install and use the app
1. [Download the app](https://github.com/MonitorControl/MonitorControl/releases)
2. Copy the MonitorControl app file from the .dmg file to your Applications folder
3. Click on the `MonitorControl` app
4. Add the app to `Accessibility` under `System Settings` » `Privacy & Security` as prompted (this is required only if you wish to use the native Apple keyboard brightness and media keys - if this is not the case, you can safely skip this step).
5. Use your keyboard or the sliders in the app menu (a brightness symbol in the macOS menubar as shown on the screenshot above) to control your displays.
6. Open `Settings…` for customization options (enable `Show advanced settings` for even more options).
7. You can set up custom keyboard shortcuts under the `Keyboard` in Settings (the app uses Apple media keys by default).
8. If you have any questions, go to [Discussions](https://github.com/MonitorControl/MonitorControl/discussions)!
### macOS compatibility
| MonitorControl version | macOS version |
| ---------------------- | ----------------- |
| v4.0.0 | Catalina 10.15* |
| v3.1.1 | Mojave 10.14 |
| v2.1.0 | Sierra 10.12 |
_* With some limitations - full functionality available on macOS 11 Big Sur or newer._
For macOS Sequoia and Tahoe 26 compatibility [v4.3.3 or newer](https://github.com/MonitorControl/MonitorControl/releases) is required!
Please note that current versions have limited native macOS OSD support on macOS Tahoe - although the Control Center brightness or volume OSD appears, the OSD percentage value will not show or update.
### Supported displays
- Most modern LCD displays from all major manufacturers supported implemented DDC/CI protocol via USB-C, DisplayPort, HDMI, DVI or VGA to allow for hardware backlight and volume control.
- Apple displays and built-in displays are supported using native protocols.
- LCD and LED Televisions usually do not implement DDC, these are supported using software alternatives to dim the image.
- DisplayLink, Airplay, Sidecar and other virtual screens are supported via shade (overlay) control.
Notable exceptions for hardware control compatibility:
- DDC control using the built-in HDMI port of the 2018 Intel Mac mini, the built-in HDMI port of all M1 Macs (MacBook Pro 14" and 16", Mac Mini, Mac Studio) and the built-in HDMI port of the entry level M2 Mac mini are not supported. Use USB-C instead or get [BetterDisplay](https://betterdisplay.pro) for full DDC control over HDMI with these Macs as well for free. Software-only dimming is still available for these connections.
- Some displays (notably EIZO) use MCCS over USB or an entirely custom protocol for control. These displays are supported with software dimming only.
- DisplayLink docks and dongles do not allow for DDC control on Macs, only software dimming is available for these connections.
## Contributing to the project
- If you want, you can fork the code, make improvements and submit a pull request to improve the app. Accepting a PR is solely in the hands of the maintainer - before making fundamental changes expecting it to be accepted, please consult the maintainer of the project!
- Dozens of customization options.
- Simple, unobtrusive UI.
## How to build
@ -109,18 +54,14 @@ Notable exceptions for hardware control compatibility:
- Xcode
- [Swiftlint](https://github.com/realm/SwiftLint)
- [SwiftFormat](https://github.com/nicklockwood/SwiftFormat)
- [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) (for updating localizations)
### Build steps
- Clone the project via this Terminal command:
```sh
git clone https://github.com/MonitorControl/MonitorControl.git
git clone https://github.com/shayprasad/MonitorControlXDR.git
```
- If you want to clone one of the branches, add `--single-branch --branch [branchname]` after the `clone` option.
- You're all set! Now open the `MonitorControl.xcodeproj` with Xcode! The dependencies will automatically get downloaded once you open the project. If they don't: `File > Packages > Resolve Package Versions`
Open `MonitorControl.xcodeproj` with Xcode. Dependencies download automatically on first open. If they don't: `File > Packages > Resolve Package Versions`.
### Third party dependencies
@ -132,14 +73,22 @@ git clone https://github.com/MonitorControl/MonitorControl.git
## Credits
- [@waydabber](https://github.com/waydabber), maintainer, developer of [BetterDisplay](https://github.com/waydabber/BetterDisplay#readme).
- [@the0neyouseek](https://github.com/the0neyouseek) - honorary maintainer
- [@JoniVR](https://github.com/JoniVR) - honorary maintainer
- [@alin23](https://github.com/alin23) - spearheaded M1 DDC support, developer of [Lunar](https://lunar.fyi)
- [@mathew-kurian](https://github.com/mathew-kurian/) (original developer)
- [@Tyilo](https://github.com/Tyilo/) (fork)
- [@Bensge](https://github.com/Bensge/) - (used some code from his project [NativeDisplayBrightness](https://github.com/Bensge/NativeDisplayBrightness))
- [@nhurden](https://github.com/nhurden/) (for the original MediaKeyTap)
- [@kfix](https://github.com/kfix/ddcctl) (for ddcctl)
- [@reitermarkus](https://github.com/reitermarkus) (for Intel DDC support)
- [javierocasio](https://www.deviantart.com/javierocasio) (app icon background)
This project is a fork of [MonitorControl](https://github.com/MonitorControl/MonitorControl). All credit for the original application goes to:
- [@waydabber](https://github.com/waydabber) — maintainer, developer of [BetterDisplay](https://github.com/waydabber/BetterDisplay#readme)
- [@the0neyouseek](https://github.com/the0neyouseek) — honorary maintainer
- [@JoniVR](https://github.com/JoniVR) — honorary maintainer
- [@alin23](https://github.com/alin23) — spearheaded M1 DDC support, developer of [Lunar](https://lunar.fyi)
- [@mathew-kurian](https://github.com/mathew-kurian/) — original developer
- [@Tyilo](https://github.com/Tyilo/) — fork
- [@Bensge](https://github.com/Bensge/) — used code from [NativeDisplayBrightness](https://github.com/Bensge/NativeDisplayBrightness)
- [@nhurden](https://github.com/nhurden/) — original MediaKeyTap
- [@kfix](https://github.com/kfix/ddcctl) — ddcctl
- [@reitermarkus](https://github.com/reitermarkus) — Intel DDC support
- [javierocasio](https://www.deviantart.com/javierocasio) — app icon background
XDR extended brightness additions by [@shayprasad](https://github.com/shayprasad).
## License
MIT — see [License.txt](License.txt). Original copyright © MonitorControl contributors. Fork additions copyright © 2026 Shay Prasad.

34
build/build.sh Executable file
View file

@ -0,0 +1,34 @@
#!/bin/bash
# Build script for XDRMonitorBrightness
# Builds the app and copies the result to this build/ directory
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
APP_NAME="XDRMonitorBrightness"
OUTPUT_DIR="$SCRIPT_DIR"
echo "Building $APP_NAME..."
xcodebuild \
-project "$PROJECT_DIR/MonitorControl.xcodeproj" \
-scheme "MonitorControl" \
-configuration Release \
-derivedDataPath "$SCRIPT_DIR/DerivedData" \
CODE_SIGN_IDENTITY="-" \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO \
build
BUILT_APP="$SCRIPT_DIR/DerivedData/Build/Products/Release/$APP_NAME.app"
if [ -d "$BUILT_APP" ]; then
echo "Copying $APP_NAME.app to build/ ..."
rm -rf "$OUTPUT_DIR/$APP_NAME.app"
cp -r "$BUILT_APP" "$OUTPUT_DIR/$APP_NAME.app"
echo "Done: $OUTPUT_DIR/$APP_NAME.app"
else
echo "Error: built app not found at $BUILT_APP"
exit 1
fi