Add Apple Silicon support & major revamp (3.0.0) (#520)

Co-authored-by: Joni Van Roost <joni.VR@hotmail.com>
Co-authored-by: Rayan Khan <rayankhan04@iCloud.com>
Co-authored-by: Guillaume B <the0neyouseek@users.noreply.github.com>
This commit is contained in:
waydabber 2021-08-21 13:18:54 +02:00 committed by GitHub
parent fd142cb7e0
commit d46c429c07
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
91 changed files with 3994 additions and 2653 deletions

123
README.md
View file

@ -1,66 +1,55 @@
<h1 align="center"> MonitorControl </h1>
<img src=".github/Icon-1024.png" width="175" alt="App icon" align="left"/>
<!-- subtext -->
<div align="center">
Control your external monitor brightness, contrast or volume directly from a menulet or with keyboard native keys.
</div>
<h2>MonitorControl - Now with Apple Silicon support!</h2>
<p>
<b>Control your external display brightness and volume!<br>
Use menulet sliders or the native Apple keyboard keys!<br>
Shows native brightness and volume OSDs as well!</b>
</p>
<br/>
<!-- Language emoji -->
<div align="center">
<p>Translations: :uk: :fr: :de: :it: :ru: :ukraine: :jp: :poland: </p>
</div>
<br/>
<!-- shields -->
<div align="center">
<!-- downloads -->
<a href="https://github.com/MonitorControl/MonitorControl/releases">
<img src="https://img.shields.io/github/downloads/MonitorControl/MonitorControl/total.svg" alt="downloads"/>
</a>
<!-- version -->
<a href="https://github.com/MonitorControl/MonitorControl/releases/latest">
<img src="https://img.shields.io/github/release/MonitorControl/MonitorControl.svg" alt="latest version"/>
</a>
<!-- license -->
<a href="https://github.com/MonitorControl/MonitorControl/blob/master/License.txt">
<img src="https://img.shields.io/github/license/MonitorControl/MonitorControl.svg" alt="license"/>
</a>
<!-- platform -->
<a href="https://github.com/MonitorControl/MonitorControl">
<img src="https://img.shields.io/badge/platform-macOS-lightgrey.svg" alt="platform"/>
</a>
</div>
<!-- downloads -->
<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>
<!-- version -->
<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>
<!-- license -->
<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>
<!-- platform -->
<a href="https://github.com/MonitorControl/MonitorControl">
<img src="https://img.shields.io/badge/platform-macOS-lightgrey.svg?style=flat" alt="platform"/>
</a>
<!-- backers -->
<a href="https://opencollective.com/monitorcontrol">
<img src="https://opencollective.com/monitorcontrol/tiers/badge.svg" alt="backers"/>
</a>
<br/>
<br/>
<div align="center">
<img src="./.github/menulet.png" width="200" alt="menulet screenshot"/>
<br/><br/>
<img src="./.github/menugeneral.png" width="299" alt="general screenshot"/><img src="./.github/menukeys.png" width="299" alt="keys screenshot"/>
<img src="./.github/menudisplay.png" width="299" alt="display screenshot"/>
<img src="./.github/menuadvanced.png" width="299" alt="advanced screenshot"/>
<br/>
_Bonus: Using keyboard keys displays the native osd_
<img src="./.github/osd.jpg" width="500" align="center" alt="osd screenshot"/>
</div>
<img src=".github/screenshot.png" width="840" alt="Screenshot"/><br/>
<hr>
## Download
Go to [Release](https://github.com/MonitorControl/MonitorControl/releases/latest) and download the latest `.dmg`
Go to [Releases](https://github.com/MonitorControl/MonitorControl/releases) and download the latest `.dmg`
## Installing with Homebrew Cask
## Compatibility
You can also install MonitorControl with [Homebrew Cask](https://github.com/Homebrew/homebrew-cask).
```bash
$ brew install --cask monitorcontrol
```
- macOS Mojave (`10.14`) and up _(note: you can download [version 2.1.0](https://github.com/MonitorControl/MonitorControl/releases/tag/v2.1.0) for macOS Sierra `10.12` support)_
- Works with monitors controllable via [DDC](https://en.wikipedia.org/wiki/Display_Data_Channel) (or any other display via software dimming)
## How to help
@ -75,17 +64,19 @@ Open [issues](https://github.com/MonitorControl/MonitorControl/issues) if you ha
- [SwiftFormat](https://github.com/nicklockwood/SwiftFormat)
- [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) (for updating localizations)
Clone the project
Clone the project via this Terminal command:
```sh
```
git clone https://github.com/MonitorControl/MonitorControl.git
```
Then dependencies will automatically get downloaded when opening the project, if they don't:
If you want to clone one of the branches, add `--single-branch --branch [branchname]` after the `clone` option.
`File > Swift Packages > Resolve Package Versions`
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:
You're all set ! Now open the `MonitorControl.xcodeproj` with Xcode
`File > Packages > Resolve Package Versions`
(In earlier XCode versions `Packages` menu is titled `Swift Packages`)
### Third party dependencies
@ -94,21 +85,21 @@ You're all set ! Now open the `MonitorControl.xcodeproj` with Xcode
- [DDC.swift](https://github.com/reitermarkus/DDC.swift)
- [SimplyCoreAudio](https://github.com/rnine/SimplyCoreAudio)
## Support
- macOS Sierra (`10.12`) and up.
- Works with monitors controllable via [DDC](https://en.wikipedia.org/wiki/Display_Data_Channel).
## Contributors
- [@the0neyouseek](https://github.com/the0neyouseek)
- [@reitermarkus](https://github.com/reitermarkus)
- [@JoniVR](https://github.com/JoniVR)
- [@waydabber](https://github.com/waydabber)
## Thanks
- [@bluejamesbond](https://github.com/bluejamesbond/) (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)
- [@bluejamesbond](https://github.com/bluejamesbond/) (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 DDC.Swift)
- [@zhuowei](https://github.com/zhuowei) (figured out M1 I²C communication)
- [@tao-j](https://github.com/tao-j) (figured out M1 I²C write)
- [@alin23](https://github.com/alin23) (generally spearheaded M1 DDC support and figured out a many of the caveats)
- [javierocasio](https://www.deviantart.com/javierocasio) (app icon background)