MonitorControl/README.md
Joni Van Roost 830878ee1d Project upgrade, stability improvements, new features (#59)
PR #59 with enhancements and fixes (Changes done by @JoniVR):

- Code migration to **Swift 4.2**
- **Fixed** the **MonitorControl scheme** which was gone for me
- **Updated the screenshots and readme**
- **Added a feature that detects the default sound output device and only intercepts when an external display is set as default output**, so Airpods, internal macbook volume and other non-monitor devices will be ignored (#48, #15)
- **Fixed app unresponsiveness and high CPU on launch** (might be related to #50, #37, please do keep in mind that on initial launch there will still be a little unresponsiveness because the underlying framework - called [ddcctl](https://github.com/kfix/ddcctl) - attempts to read your volume settings 10 times)
- Added a **version and build number** to the main preferences panel:
![menugeneral](https://user-images.githubusercontent.com/7591717/51052474-0c4c7500-15d7-11e9-883d-804051577bc7.png)
- Added a build script that increases the build number on each run. Version number still needs to be set manually.
- refactored some parts of the code to make it a bit more readable.
2019-02-04 20:50:09 +01:00

87 lines
3.1 KiB
Markdown

<h1 align="center"> MonitorControl </h1>
<!-- subtext -->
<div align="center">
Control your external monitor brightness, contrast or volume directly from a menulet or with keyboard native keys.
</div>
<br/>
<!-- shields -->
<div align="center">
<!-- downloads -->
<a href="https://github.com/the0neyouseek/MonitorControl/releases">
<img src="https://img.shields.io/github/downloads/the0neyouseek/MonitorControl/total.svg" alt="downloads"/>
</a>
<!-- version -->
<a href="https://github.com/the0neyouseek/MonitorControl/releases/latest">
<img src="https://img.shields.io/github/release/the0neyouseek/MonitorControl.svg" alt="latest version"/>
</a>
<!-- license -->
<a href="https://github.com/the0neyouseek/MonitorControl/blob/master/License.txt">
<img src="https://img.shields.io/github/license/the0neyouseek/MonitorControl.svg" alt="license"/>
</a>
<!-- platform -->
<a href="https://github.com/the0neyouseek/MonitorControl">
<img src="https://img.shields.io/badge/platform-macOS-lightgrey.svg" alt="platform"/>
</a>
</div>
<br/>
<div align="center">
<img src="./.github/menulet.png" 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"/>
<br/>
*Bonus: Using keyboard keys displays the native osd*
<img src="./.github/osd.jpg" width="500" align="center" alt="osd screenshot"/>
</div>
## Download
Go to [Release](https://github.com/the0neyouseek/MonitorControl/releases/latest) and download the latest `.dmg`
## How to help
Open [issues](https://github.com/the0neyouseek/MonitorControl/issues) if you have a question, an enhancement to suggest or a bug you've found. If you want you can fork the code yourself and submit a pull request to improve the app.
## How to build
### Required
- Xcode
- [Cocoapods](https://cocoapods.org/)
- [Swiftlint](https://github.com/realm/SwiftLint)
Clone the project
```sh
git clone https://github.com/the0neyouseek/MonitorControl.git --recurse-submodules
```
Then download the dependencies with Cocoapods
```sh
$ pod install
```
You're all set ! Now open the `MonitorControl.xcworkspace` with Xcode
### Third party dependencies
- [MediaKeyTap](https://github.com/the0neyouseek/MediaKeyTap)
- [MASPreferences](https://github.com/shpakovski/MASPreferences)
- [ddcctl](https://github.com/kfix/ddcctl)
- [AMCoreAudio](https://github.com/rnine/AMCoreAudio)
## Support
- macOS Sierra (`10.12`) and up.
- Works with monitors compatible with [@kfix/ddcctl](https://github.com/kfix/ddcctl)
## 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)