Omarchy 3.5.1 shipped hardware-specific mic mute handling for Dell XPS (bin/omarchy-cmd-mic-mute-xps) which made the original PR #4938 approach obsolete — that PR added a global omarchy-cmd-mic-mute that handled the toggle inline, but upstream now owns that dispatcher. This follows the same pattern to add ThinkPad support by extending omarchy-hw-match to also check product_family (ThinkPad systems report "ThinkPad T14s Gen 2a" there, not in product_name) and adding omarchy-cmd-mic-mute-thinkpad which uses brightnessctl to sync the platform::micmute LED, simpler than the ALSA approach needed for XPS. Note: as more vendors are added this per-vendor dispatcher will get unwieldy. A future refactor could move hardware LED sync into install/config/hardware/ scripts that drop a hook or config file, keeping omarchy-cmd-mic-mute thin and vendor-agnostic.
24 lines
685 B
Bash
Executable File
24 lines
685 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Toggle microphone mute on ThinkPad systems. Uses wpctl for reliable toggling
|
|
# and syncs the platform::micmute LED via brightnessctl.
|
|
|
|
wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle >/dev/null
|
|
|
|
if pactl get-source-mute @DEFAULT_SOURCE@ | grep -q 'yes'; then
|
|
osd_message='Microphone muted'
|
|
osd_icon='microphone-sensitivity-muted-symbolic'
|
|
led_value=1
|
|
else
|
|
osd_message='Microphone on'
|
|
osd_icon='audio-input-microphone-symbolic'
|
|
led_value=0
|
|
fi
|
|
|
|
brightnessctl --device="platform::micmute" set "$led_value" >/dev/null 2>&1 || true
|
|
|
|
swayosd-client \
|
|
--monitor "$(omarchy-hyprland-monitor-focused)" \
|
|
--custom-message "$osd_message" \
|
|
--custom-icon "$osd_icon"
|