fix(quickshell): mpris not detecting browser players when plasma-browser-integration is installed

Amp-Thread-ID: https://ampcode.com/threads/T-019c5f8e-6544-735e-88e3-aa29c2d3bbf6
Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
GokuPlay609
2026-02-15 10:22:03 +05:30
parent f128c48356
commit 502dffeac7
@@ -25,22 +25,16 @@ Singleton {
property var activeTrack;
property bool hasPlasmaIntegration: false
Process {
id: plasmaIntegrationAvailabilityCheckProc
running: true
command: ["bash", "-c", "command -v plasma-browser-integration-host"]
onExited: (exitCode, exitStatus) => {
root.hasPlasmaIntegration = (exitCode === 0);
}
}
readonly property bool hasActivePlasmaIntegration: Mpris.players.values.some(
p => p.dbusName?.startsWith('org.mpris.MediaPlayer2.plasma-browser-integration')
)
function isRealPlayer(player) {
if (!Config.options.media.filterDuplicatePlayers) {
return true;
}
return (
// Remove unecessary native buses from browsers if there's plasma integration
!(hasPlasmaIntegration && player.dbusName.startsWith('org.mpris.MediaPlayer2.firefox')) && !(hasPlasmaIntegration && player.dbusName.startsWith('org.mpris.MediaPlayer2.chromium')) &&
// Remove native browser buses only if plasma-browser-integration is actually active on D-Bus
!(hasActivePlasmaIntegration && player.dbusName.startsWith('org.mpris.MediaPlayer2.firefox')) && !(hasActivePlasmaIntegration && player.dbusName.startsWith('org.mpris.MediaPlayer2.chromium')) &&
// playerctld just copies other buses and we don't need duplicates
!player.dbusName?.startsWith('org.mpris.MediaPlayer2.playerctld') &&
// Non-instance mpd bus