fix: improve microphone mute fallback reliability using pactl#5492
fix: improve microphone mute fallback reliability using pactl#5492shmall03 wants to merge 44 commits intobasecamp:devfrom
Conversation
Omarchy 3.5.0
Omarchy 3.5.1
Agent-Logs-Url: https://github.com/basecamp/omarchy/sessions/36fb96d5-70fd-4365-9550-e7ff5f8735d1 Co-authored-by: dhh <2741+dhh@users.noreply.github.com>
Omarchy 3.6.0
There was a problem hiding this comment.
Pull request overview
This PR aims to make microphone mute toggling more reliable by switching the non-XPS/ThinkPad fallback to a pactl-driven toggle and showing a custom OSD state, and it also updates Chromium’s default appearance preferences to include color_scheme2.
Changes:
- Update
omarchy-cmd-mic-mutefallback to toggle the default input source mute viapactland show a custom OSD message/icon. - Update Chromium default
initial_preferencesto set bothcolor_schemeandcolor_scheme2. - Add a migration to update both the system-wide Chromium initial preferences and an existing user profile’s
Preferencesfile accordingly.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
bin/omarchy-cmd-mic-mute |
Replaces the generic mute-toggle with a pactl toggle + explicit OSD messaging. |
install/config/theme.sh |
Sets Chromium’s default theme prefs to include color_scheme2 alongside color_scheme. |
migrations/1777018408.sh |
Migrates existing installs by updating system initial prefs and user profile preferences for Chromium theme fields. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| echo "Fix Chromium appearance mode to also set color_scheme2 (the field Chromium actually reads now)" | ||
|
|
||
| echo '{"browser":{"theme":{"color_scheme":0,"color_scheme2":0}}}' | sudo tee /usr/lib/chromium/initial_preferences >/dev/null |
There was a problem hiding this comment.
The PR title/description focus on microphone mute reliability, but this migration introduces an unrelated Chromium appearance-mode change. Please either update the PR description to include the Chromium/theme work (and why it’s bundled), or split this into a separate PR so the change history matches the documented intent.
Problem:
On certain hardware (specifically tested on HP laptops), the default
swayosd-client --input-volume mute-togglecorrectly triggers the OSD UI but fails to actually toggle the mute state in PipeWire/PulseAudio. This creates a deceptive state where the user sees a "muted" icon but the microphone remains active.Solution:
This PR generalizes the reliable logic already used in the XPS and ThinkPad handlers into the main fallback. It uses pactl to perform the actual toggle and swayosd-client to display the custom OSD message.
Benefits: