It would be cool to permanently hide devices from the System-Tray audio settings, for devices which you don’t use.
You can do that by going to the sound settings and switching the “Profile” of the respective device to “Off”
uhh didnt know that, nice
Sadly though, It’s for all the device of one hardware device, like my internal sound card has 2 audio outputs, and one input, and I want to disable all, but one output, because I always click the wrong ones, when switching (same name, different output)
Maybe you can use WirePlumber to disable the output node.
To get rid of “HDMI2” and “HDMI3” (the 5.1 surround sound outputs at the Pro-Audio profile that are in my case not even connected) for example I use the following wireplumber rule:
# ALSA node property overrides for machine hardware /usr/share/wireplumber/wireplumber.conf.d/99-alsa-rules.comf
monitor.alsa.rules = [
{
matches = [
{
object.path = "alsa:acp:NVidia:2:playback"
}
]
actions = {
update-props = {
node.disabled = true
}
}
}
{
matches = [
{
object.path = "alsa:acp:NVidia:3:playback"
}
]
actions = {
update-props = {
node.disabled = true
}
}
}
]
or even rename a specific output;
...
{
matches = [
{
node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
}
]
actions = {
update-props = {
node.nick = "Laptop Stereo"
}
}
}
...
(the current system-tray/Audio plasmoid uses “node.nick” for the Name shown)
The only requirement (for the rule “match”) is that both output sinks have at least one different / unique to them property.
See properties section of pactl list sinks
output.
If both outputs have identical properties and only distinguished by, for example, “Active Port” you are out of luck. Or at least I have not figured out how to do that in such a case (yet).