diff --git a/include/modules/pulseaudio.hpp b/include/modules/pulseaudio.hpp index fdc73bde..2ecdc35d 100644 --- a/include/modules/pulseaudio.hpp +++ b/include/modules/pulseaudio.hpp @@ -51,6 +51,7 @@ namespace modules { pulseaudio_t m_pulseaudio; int m_interval{5}; + bool m_unmute_on_scroll{false}; atomic m_muted{false}; atomic m_volume{0}; atomic m_decibels{0}; diff --git a/src/modules/pulseaudio.cpp b/src/modules/pulseaudio.cpp index a5d49bd3..34196ab3 100644 --- a/src/modules/pulseaudio.cpp +++ b/src/modules/pulseaudio.cpp @@ -23,6 +23,7 @@ namespace modules { // Load configuration values m_interval = m_conf.get(name(), "interval", m_interval); + m_unmute_on_scroll = m_conf.get(name(), "unmute-on-scroll", m_unmute_on_scroll); auto sink_name = m_conf.get(name(), "sink", ""s); bool m_max_volume = m_conf.get(name(), "use-ui-max", true); @@ -156,10 +157,16 @@ namespace modules { } void pulseaudio_module::action_inc() { + if (m_unmute_on_scroll) { + m_pulseaudio->set_mute(false); + } m_pulseaudio->inc_volume(m_interval); } void pulseaudio_module::action_dec() { + if (m_unmute_on_scroll) { + m_pulseaudio->set_mute(false); + } m_pulseaudio->inc_volume(-m_interval); }