Or another solution would be to change pulseaudio so that it caches the alsa mixer state, so when one switch is unmuted, pulseaudio would be able to figure out that unmuting happened. Without caching this is not possible, because the only notification we get from alsa is that "something changed".
But from architecture point of view I think there should be only one component that is controlling the alsa mixers, and that component should be pulseaudio, so changing xfce4-volumed makes more sense than changing pulseaudio to cope with other components fiddling with the alsa mixers.
Or another solution would be to change pulseaudio so that it caches the alsa mixer state, so when one switch is unmuted, pulseaudio would be able to figure out that unmuting happened. Without caching this is not possible, because the only notification we get from alsa is that "something changed".
But from architecture point of view I think there should be only one component that is controlling the alsa mixers, and that component should be pulseaudio, so changing xfce4-volumed makes more sense than changing pulseaudio to cope with other components fiddling with the alsa mixers.