CARVIEW |
Select Language
HTTP/2 200
date: Sat, 26 Jul 2025 08:09:43 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/"337db6a0a306192b03262b635857f8a8"
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=yhidCGmeC5Ph6A3Nlwz5qlgEas8DmHz8mWDXzkmrxOJ7FYeqjbN3PJggg1YJ56DnnHt7TV%2BexIZDzJwYliRs0rNq2%2BrbYg2hUBFi7g7hTiRrmyPcRzbsBxyFrh7KgQ%2BHSODUtEXpbms0MaeAjGZSH%2F%2BMaW%2B7ivIIcekSxoCdT2UCsqJdi%2Bq3mTG%2BYv9kZj1SAn62w9rqro7Ahi%2Fc9C%2FNpTgjLZB5hvwGGUTaAOVvyKzurmwe5akMbQ9z1JmYkQjaAUHBdzAXStPr4Y0Y358H6A%3D%3D--DSUcsM5Zk%2FCPHrGT--PT1IK9X%2F4Rh49dBjwKoXwA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1194930501.1753517383; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 08:09:43 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 08:09:43 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 88FA:1FA760:339AC6:458825:68848D47
Release MonitorControl v4.0.0-rc1 · 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-rc1
Compare
cce4161
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
Full v4.0.0 Release Candidate release notes
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
- Added Internet Access Policy
- Added advanced option to enable zero brightness with software dimming.
- Added command + q shortcut in menu when it is in standard text mode.
- Rearranged Preferences to fit better on smaller screens in Advanced mode
- Alert when repeated interference is detected with applications.
- Added 'Avoid gamma table manipulation' option for peaceful coexistence with f.lux.
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.
Thanks to all our translators
- Chinese - thanks to @dev-coco, @anmoliyang
- Chinese (Traditional, Taiwan) - thanks to @stiiveo, @dororojames
- Dutch - thanks to @JoniVR
- French - thanks to @the0neyouseek
- German - thanks to @jajoho, @curana
- Hungarian - thanks to @waydabber
- Italian - thanks to @picov
- Korean - thanks to @zzulu
- Turkish - thanks to @mennan, @ozkanozcan
Notes
- This is a release candidate. If you encounter any issues, you can try the last stable release v3.1.1 or last beta release v4.0.0-beta2.
- If you discover issues, make sure to report them in the linked release discussion.
- If you want to help translating, see #637
- Thanks to everyone who helps make MonitorControl better!
Assets 3
28 people reacted
0
Join discussion
You can’t perform that action at this time.