CARVIEW |
Select Language
HTTP/2 200
date: Sat, 26 Jul 2025 08:08:18 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"554c8be477128454b69f95e9eec44b54"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=F59VzaQeuw7GFO8vbZDbBNBTb6qHt%2FiG%2FDti1fX80aYghxrE5qH8ZNrM5Bpch451cQikCE5FB7%2FSINVZHiB2Sa3S8FSk%2F09mCh0GvMqyrHwgBb3ku2fw1P2kjDR4w2NJKmtHd3D31DlED6%2BjIoOOxandv2ADL1lr%2FiboAFU0nsJODxztRM9EE5NaiWHYREkgy7s4WOhYhMtOWRwnbu9GoZKCKsR8kOOJtxlZEwprODNW%2FW5A4lB%2BITJqPm35xI8vJJ5mGOHwRqIhuMXV4yEI%2Fg%3D%3D--d1qk54oj%2BfiaOr7I--1mBCujHs4Bja86v2SozAmQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.394661567.1753517298; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 08:08:18 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 08:08:18 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 8538:3B05D7:32861B:446693:68848CF2
Release MonitorControl v4.0.0-beta1 Β· MonitorControl/MonitorControl Β· GitHub
Loading
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 871
MonitorControl v4.0.0-beta1
Pre-release
Pre-release
Compare
53ce822
This commit was created on GitHub.com and signed with GitHubβs verified signature.
The key has expired.
The new v4.0.0
version is already available as Release Candidate. We encourage you to try the new version instead of the beta version and give your feedback! You should download this older beta version only if you have issues with the Release Candidate!
Enhancements
- Automatic & manual updates through the app, no more manual downloads π
- Added proper support for controlling Apple displays.
- Added option to show/hide brightness slider.
- Added option to show brightness slider for internal display and apple displays (enabled by default).
- Replication of built-in and Apple display brightness to corresponding brightness slider.
- Added suffix to similarly named displays for better differentiation.
- Option to disable slider snapping for finer control + disable slider snapping by default.
- Added option to show slider tick marks for better accuracy.
- Added option to use window focus instead of mouse to determine which display to control.
- control + command + brightness now controls external displays only (control + Brightness continues to control internal display only)
- Added separate tab for menu options.
- Added option to restore last saved values upon startup.
- Added option for audio device name matching for display volume control selection.
- Separated option to change all screens for brightness and volume.
- Added option for keyboard fine scale for brightness.
- Added option for keyboard fine scale for volume.
- Added version check upon startup for mandatory preferences reset upon downgrade or incompatible previous version + notification about this.
- Added implementation for command + f1 macOS shortcut to enable/disable mirroring.
- Added safer 'Assume last saved settings are valid' option as default instead of startup DDC read (or restore).
- Streamlined preference panes, 'Show advanced settings' now affect all tabs. This leads to a better and safer first timer experience (especially because of the influx of many new features).
- Added a Quit button to Preferences if menu is hidden (it was not passible to quit the application until this time in this mode only by re-enabling the menu).
- Lowered default first-run volume DDC default from 75% to 15% if read is not possible or disabled to prevent unexpectedly loud sound.
- Added slider skew setting on a per control basis to have the ability to manipulate DDC slider balance and OSD scale if display control is not linear.
- Added the ability to set min. and max. DDC bounds on a per display, per control basis.
- Audio device name override option for a display (manually assign a specific audio device to a display).
- Advanced setting to invert DDC control range (some displays have the scale reversed).
- Advanced setting to remap DDC control code (some displays have contrast and brightness mixed up).
- Ability to mark a DDC control as available or unavailable in advanced settings under Displays.
- Ability to automatically hide menu icon if there is no slider present in the menu.
- Option to show slider percentage for more precision.
- Option to set combined or separate OSD scale when combined hardware+software brightness is used.
- Apple like smooth brightness change (both for software, hardware, mixed and DisplayServices).
- Added support for DisplayLink, AirPlay, Sidecar, screen sharing etc. using window shades (this is an inferior technique to the existing software implementation - gamma control - but still better than nothing). Disabled for any kind of mirroring setups. 1
- Brightness change synchronisation from Built-In and Apple displays to other displays. This makes Touch Bar, Ambient light sensor, Control Center and System Preferences induced changes affect all displays. Synchronisation uses a sophisticated indirect delta method + the user can intervene and adjust individual screen brightness at any time to easily compensate mismatching native brightness levels.
- Preferences pane tab selector has a simpler look on Catalina.
- All menu sliders are now scrollable using a magic mouse/trackpad swipes or mouse wheel.
- Added option for menu to show only items that are relevant to display which shows the menu currently.
- Added option to enable combined sliders (note: this option combined with enabled Apple/built-in display syncing and enabled 'change all' keyboard settings finally provides full synchronised control of all displays).
- Combined sliders can now display multiple displays when keyboard and brightness syncing is not enabled. 1
- Redesigned sliders to look like Big Sur/Monterey Control Center's sliders. 1
- Quit and Preferences... are now icons for a much cleaner look. 1
- Added option to change additional menu options style or hide them. 1
- Multiple displays are now in nice Big Sur styled blocks - no more ugly separators. 1
- Added customisable gamma/ddc switchover point for combined brightness in the advanced section of Displays.
- Added comma separated list for control code override to enable edge cases like controlling Brightness and Contrast at the same time (use VCP list entry
10, 12
for that) - Contrast can now be controlled from keyboard via control + option + command + brightness up/down.
- Custom keyboard shortcuts for brightness, contrast, volume and mute
Other under the hood changes and bug fixes
- Standardised internal scale among various displays and DDC ranges for ranged controls.
- Uses the new internal scale for combined hardware-software brightness mode.
- Migrated scales to internal float representation to prevent loss of fine detail on transformations.
- Fixed double sound when muting multiple external displays at the same time.
- Fixed lack of initial volume configuration if slider is not shown in menu.
- Fixed wrong settings being applied to a display when replaced on Apple Silicon (UserDefaults preferences are now tied to specific display strings instead of CGDirectDisplayID - which is no longer semi-unique on arm64).
- A lot of refactoring, streamlining and general optimisations.
Known issues with this release
Note: these issues are already fixed in the master branch and will be fixed in the upcoming version.
- Translations to languages other than English are incomplete.
- Displays tab in Preferences might have graphical corruptions with certain languages.
- Custom brightness shortcut record intrface may appear misaligned.
- 'Quit application' button has wrong spelling when the Quit menu option is not visible.
- Register DDC command touched status. When write on startup enabled, apply only touched command values.
Disengage custom shortcut keyboard after 100 key repeat to prevent possibly endless loop if keyUp event never arrives due to any circumstance. - External display brightness control keyboard shortcut is incorrectly displayed as
control
+option
+brightness key
instead ofcontrol
+command
+brightness key
. - Cumulative darkening happens when toggling 'Disable dimming as fallback' if software dimming is engage. You need to restart the app to rectify this.
- Custom key shortcuts may go runaway when menu is opened during a custom shortcut key-repeat streak.
- When
Apply last saved values to the display
is enabled, a DDC contrast of 100% will be applied erroneously if the user never changed the contrast setting before.
Notes
- This is a beta release. If you encounter any issues, you can try the last stable release v3.1.1.
- Once again, @waydabber did a fantastic job on this release!
- Because of the sheer size of the update, translations need to be updated again, please help out here if you can!
- If you discover issues, make sure to report them in the linked release discussion.
- Happy testing π
Assets 3
32 people reacted
103
Join discussion
You canβt perform that action at this time.