Filter out volume/test feedback from the applications lists

We don't want the temporary audio stream produced by the volume change feedback or the speaker test to appear in the application list in the applet or the KCM.

Due to their short duration they are not actionable, and generate visual noise at best, and user's confusion at worst (see https://bugs.kde.org/show_bug.cgi?id=508161)

Filter out libcanberra as a client because it is used a source for this kind of sounds. General libcanberra events were already filtered out and handled by the "System Notifications" model in the KCM.

The first commit expands the capabilities to set these custom filters: we need to filter-out conditions instead of simple role matching, and also use properties of the nested PulseClient

Test

  • The audio feedback for the volume change needs to be enabled
  • Watch the Applications/Streams lists on the Audio applet and/or the KCM
  • Switch the volume levels with the shortcuts.
  • Also test using the speaker test on the KCM.

Screenshots

This is best experienced live, but I'm having some issues with screen recordings now

BEFORE AFTER
volume-feedback-before volume-feedback-after

Merge request reports

Loading