[PR #175] [MERGED] Implement ctrl + brightness for controlling internal display, internal display respects enabled option in settings #1066

Closed
opened 2026-05-05 07:03:50 -06:00 by gitea-mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/MonitorControl/MonitorControl/pull/175
Author: @JoniVR
Created: 2/1/2020
Status: Merged
Merged: 2/23/2020
Merged by: @JoniVR

Base: masterHead: refactor/display-logic


📝 Commits (7)

  • 46d7cb6 Refactor display loading logic
  • af9ece4 Use localized string for unknown display
  • 8cd0055 Refactor
  • 1557664 Refactor, Implement Internal brightness controls
  • 9f0bcae Update MediaKeyTap dependency, Implement ctrl modifier for internal display
  • bfeb5fc Fix keyRepeatTimer issue with multiple displays while holding down a MediaKey
  • 4c309cf Revert removal of some ifdebugs

📊 Changes

21 files changed (+309 additions, -206 deletions)

View changed files

📝 Cartfile (+1 -1)
📝 Cartfile.resolved (+2 -2)
📝 MonitorControl.xcodeproj/project.pbxproj (+24 -8)
📝 MonitorControl/AppDelegate.swift (+72 -87)
📝 MonitorControl/Info.plist (+1 -1)
📝 MonitorControl/Manager/DisplayManager.swift (+23 -2)
MonitorControl/Model/Display.swift (+70 -0)
📝 MonitorControl/Model/ExternalDisplay.swift (+15 -49)
MonitorControl/Model/InternalDisplay.swift (+85 -0)
📝 MonitorControl/Support/Utils.swift (+1 -23)
📝 MonitorControl/UI/Cells/ButtonCellView.swift (+3 -11)
📝 MonitorControl/UI/Cells/FriendlyNameCellView.swift (+0 -1)
📝 MonitorControl/UI/Cells/HideOsdCellView.swift (+1 -1)
📝 MonitorControl/UI/Cells/LongerDelayCellView.swift (+1 -1)
📝 MonitorControl/UI/Cells/PollingCountCellView.swift (+1 -1)
📝 MonitorControl/UI/Cells/PollingModeCellView.swift (+1 -1)
📝 MonitorControl/UI/SliderHandler.swift (+2 -2)
📝 MonitorControl/View Controllers/AdvancedPrefsViewController.swift (+4 -7)
📝 MonitorControl/View Controllers/DisplayPrefsViewController.swift (+1 -5)
📝 MonitorControl/View Controllers/KeysPrefsViewController.swift (+0 -2)

...and 1 more files

📄 Description

closes #148, #14
fixes #151

Changes:

  • Refactored some of the display managing logic.
  • Display is now split into InternalDisplay and ExternalDisplay, both of which inherit from Display.
  • The internal display now shows up inside the DisplayPrefsViewController.
  • The internal display respects the enabled option inside the DisplayPrefsViewController.
  • Holding down the ctrl modifier now controls (only) the internal display brightness (volume is not controlled this way because only the default audio output matters, which we handle differently).
  • Fixed keyRepeatTimer issue with multiple displays while holding down a MediaKey (see bfeb5fc).

Let me know if there's anything that is broken/needs fixing 🙂


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/MonitorControl/MonitorControl/pull/175 **Author:** [@JoniVR](https://github.com/JoniVR) **Created:** 2/1/2020 **Status:** ✅ Merged **Merged:** 2/23/2020 **Merged by:** [@JoniVR](https://github.com/JoniVR) **Base:** `master` ← **Head:** `refactor/display-logic` --- ### 📝 Commits (7) - [`46d7cb6`](https://github.com/MonitorControl/MonitorControl/commit/46d7cb6b916329fe977482172026b4532174d4a0) Refactor display loading logic - [`af9ece4`](https://github.com/MonitorControl/MonitorControl/commit/af9ece45f39955ed925b46fb07c2d38264305868) Use localized string for unknown display - [`8cd0055`](https://github.com/MonitorControl/MonitorControl/commit/8cd005580882788d7d6c5867c5e84d4a4c308749) Refactor - [`1557664`](https://github.com/MonitorControl/MonitorControl/commit/1557664b1b2b42762d5faeed1357a9c288cd2859) Refactor, Implement Internal brightness controls - [`9f0bcae`](https://github.com/MonitorControl/MonitorControl/commit/9f0bcae004fee5d802f56fd1ce90f0c23cfde5cb) Update MediaKeyTap dependency, Implement ctrl modifier for internal display - [`bfeb5fc`](https://github.com/MonitorControl/MonitorControl/commit/bfeb5fc5f5b633e67b84c7836bb02a78ea6ee83e) Fix `keyRepeatTimer` issue with multiple displays while holding down a MediaKey - [`4c309cf`](https://github.com/MonitorControl/MonitorControl/commit/4c309cf1b237a3a95274f3a276241548f61d1b88) Revert removal of some ifdebugs ### 📊 Changes **21 files changed** (+309 additions, -206 deletions) <details> <summary>View changed files</summary> 📝 `Cartfile` (+1 -1) 📝 `Cartfile.resolved` (+2 -2) 📝 `MonitorControl.xcodeproj/project.pbxproj` (+24 -8) 📝 `MonitorControl/AppDelegate.swift` (+72 -87) 📝 `MonitorControl/Info.plist` (+1 -1) 📝 `MonitorControl/Manager/DisplayManager.swift` (+23 -2) ➕ `MonitorControl/Model/Display.swift` (+70 -0) 📝 `MonitorControl/Model/ExternalDisplay.swift` (+15 -49) ➕ `MonitorControl/Model/InternalDisplay.swift` (+85 -0) 📝 `MonitorControl/Support/Utils.swift` (+1 -23) 📝 `MonitorControl/UI/Cells/ButtonCellView.swift` (+3 -11) 📝 `MonitorControl/UI/Cells/FriendlyNameCellView.swift` (+0 -1) 📝 `MonitorControl/UI/Cells/HideOsdCellView.swift` (+1 -1) 📝 `MonitorControl/UI/Cells/LongerDelayCellView.swift` (+1 -1) 📝 `MonitorControl/UI/Cells/PollingCountCellView.swift` (+1 -1) 📝 `MonitorControl/UI/Cells/PollingModeCellView.swift` (+1 -1) 📝 `MonitorControl/UI/SliderHandler.swift` (+2 -2) 📝 `MonitorControl/View Controllers/AdvancedPrefsViewController.swift` (+4 -7) 📝 `MonitorControl/View Controllers/DisplayPrefsViewController.swift` (+1 -5) 📝 `MonitorControl/View Controllers/KeysPrefsViewController.swift` (+0 -2) _...and 1 more files_ </details> ### 📄 Description closes #148, #14 fixes #151 ## Changes: * Refactored some of the display managing logic. * `Display` is now split into `InternalDisplay` and `ExternalDisplay`, both of which inherit from `Display`. * The internal display now shows up inside the `DisplayPrefsViewController`. * The internal display respects the `enabled` option inside the `DisplayPrefsViewController`. * Holding down the <kbd>ctrl</kbd> modifier now controls (only) the internal display brightness (volume is not controlled this way because only the default audio output matters, which we handle differently). * Fixed `keyRepeatTimer` issue with multiple displays while holding down a MediaKey (see bfeb5fc). Let me know if there's anything that is broken/needs fixing 🙂 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
gitea-mirror 2026-05-05 07:03:50 -06:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/MonitorControl#1066
No description provided.