[PR #356] [CLOSED] Made enabling mute/unmute an advanced preference (#170) #1092

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

📋 Pull Request Information

Original PR: https://github.com/MonitorControl/MonitorControl/pull/356
Author: @robertbressi
Created: 12/27/2020
Status: Closed

Base: masterHead: robertbressi/170-make-muting-a-preference


📝 Commits (1)

  • a27a349 Made enabling mute/unmute an advanced preference (#170)

📊 Changes

14 files changed (+141 additions, -51 deletions)

View changed files

📝 MonitorControl.xcodeproj/project.pbxproj (+4 -0)
📝 MonitorControl/Model/ExternalDisplay.swift (+12 -8)
📝 MonitorControl/UI/Base.lproj/Main.storyboard (+60 -43)
MonitorControl/UI/Cells/EnableMuteCellView.swift (+31 -0)
📝 MonitorControl/UI/de.lproj/Main.strings (+3 -0)
📝 MonitorControl/UI/en.lproj/Main.strings (+3 -0)
📝 MonitorControl/UI/fr.lproj/Main.strings (+3 -0)
📝 MonitorControl/UI/it.lproj/Main.strings (+3 -0)
📝 MonitorControl/UI/ja.lproj/Main.strings (+3 -0)
📝 MonitorControl/UI/pl.lproj/Main.strings (+3 -0)
📝 MonitorControl/UI/ru.lproj/Main.strings (+3 -0)
📝 MonitorControl/UI/uk.lproj/Main.strings (+3 -0)
📝 MonitorControl/UI/zh-Hans.lproj/Main.strings (+3 -0)
📝 MonitorControl/View Controllers/AdvancedPrefsViewController.swift (+7 -0)

📄 Description

What Did You Change?

  • Added a new preference "Enable Mute" to the Advanced tab of the app's Preferences
  • Replaced existing checks for the current display's support for the 0x8D command to use the new "Enable Mute" preference instead

Why Did You Change It?

This change is a confluence of different issues with volume control and muting:

  1. Setting the volume to zero does not mute the sound on some displays (https://github.com/MonitorControl/MonitorControl/issues/94)
  2. The 0x8D command (specifically to mute the volume) is not supported at all on some Dell displays (https://github.com/MonitorControl/MonitorControl/issues/107)
  3. Support for the 0x8D command is impossible to determine on some LG displays (https://github.com/MonitorControl/MonitorControl/issues/170)

Due to the wonky support for the 0x8D mute command by different displays, and the current inability to identify a universally-applicable pattern that can be applied to automatically determine 0x8D support, this change is necessary to ensure that as many displays as possible can have their volume control and mute/unmute needs met by MonitorControl.

Screenshots/GIFs

image

Potential Risks Introduced

  • High production risk - this change will disable the 0x8D command until the preference is enabled (because the default value of the new preference is off), which may cause reports similar to https://github.com/MonitorControl/MonitorControl/issues/94
  • Medium functional risk - this change introduces another variant to check when the volume control and mute/unmute keys are pressed, and the change can be different per-display

Testing Steps

  • Tested on Samsung C34J79x (mute enabled, mute disabled)
  • Tested on an LG 4K display (thanks @riobard)

🔄 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/356 **Author:** [@robertbressi](https://github.com/robertbressi) **Created:** 12/27/2020 **Status:** ❌ Closed **Base:** `master` ← **Head:** `robertbressi/170-make-muting-a-preference` --- ### 📝 Commits (1) - [`a27a349`](https://github.com/MonitorControl/MonitorControl/commit/a27a349707307cb1e93a43f19cc9f0f51e48cc64) Made enabling mute/unmute an advanced preference (#170) ### 📊 Changes **14 files changed** (+141 additions, -51 deletions) <details> <summary>View changed files</summary> 📝 `MonitorControl.xcodeproj/project.pbxproj` (+4 -0) 📝 `MonitorControl/Model/ExternalDisplay.swift` (+12 -8) 📝 `MonitorControl/UI/Base.lproj/Main.storyboard` (+60 -43) ➕ `MonitorControl/UI/Cells/EnableMuteCellView.swift` (+31 -0) 📝 `MonitorControl/UI/de.lproj/Main.strings` (+3 -0) 📝 `MonitorControl/UI/en.lproj/Main.strings` (+3 -0) 📝 `MonitorControl/UI/fr.lproj/Main.strings` (+3 -0) 📝 `MonitorControl/UI/it.lproj/Main.strings` (+3 -0) 📝 `MonitorControl/UI/ja.lproj/Main.strings` (+3 -0) 📝 `MonitorControl/UI/pl.lproj/Main.strings` (+3 -0) 📝 `MonitorControl/UI/ru.lproj/Main.strings` (+3 -0) 📝 `MonitorControl/UI/uk.lproj/Main.strings` (+3 -0) 📝 `MonitorControl/UI/zh-Hans.lproj/Main.strings` (+3 -0) 📝 `MonitorControl/View Controllers/AdvancedPrefsViewController.swift` (+7 -0) </details> ### 📄 Description ### What Did You Change? - Added a new preference "Enable Mute" to the Advanced tab of the app's Preferences - Replaced existing checks for the current display's support for the 0x8D command to use the new "Enable Mute" preference instead ### Why Did You Change It? This change is a confluence of different issues with volume control and muting: 1. Setting the volume to zero does not mute the sound on some displays (https://github.com/MonitorControl/MonitorControl/issues/94) 2. The 0x8D command (specifically to mute the volume) is not supported at all on some Dell displays (https://github.com/MonitorControl/MonitorControl/issues/107) 3. Support for the 0x8D command is impossible to determine on some LG displays (https://github.com/MonitorControl/MonitorControl/issues/170) Due to the wonky support for the 0x8D mute command by different displays, and the current inability to identify a universally-applicable pattern that can be applied to automatically determine 0x8D support, this change is necessary to ensure that as many displays as possible can have their volume control and mute/unmute needs met by MonitorControl. ### Screenshots/GIFs ![image](https://user-images.githubusercontent.com/3928269/103179188-291ef900-483e-11eb-81f6-a4ab36f57097.png) ### Potential Risks Introduced - High production risk - this change will disable the 0x8D command until the preference is enabled (because the default value of the new preference is `off`), which may cause reports similar to https://github.com/MonitorControl/MonitorControl/issues/94 - Medium functional risk - this change introduces another variant to check when the volume control and mute/unmute keys are pressed, and the change can be different per-display ### Testing Steps - Tested on Samsung C34J79x (mute enabled, mute disabled) - Tested on an LG 4K display (thanks @riobard) --- <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:04:26 -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#1092
No description provided.