forked from Shinonome/dots-hyprland
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:
@@ -25,22 +25,16 @@ Singleton {
|
|||||||
|
|
||||||
property var activeTrack;
|
property var activeTrack;
|
||||||
|
|
||||||
property bool hasPlasmaIntegration: false
|
readonly property bool hasActivePlasmaIntegration: Mpris.players.values.some(
|
||||||
Process {
|
p => p.dbusName?.startsWith('org.mpris.MediaPlayer2.plasma-browser-integration')
|
||||||
id: plasmaIntegrationAvailabilityCheckProc
|
)
|
||||||
running: true
|
|
||||||
command: ["bash", "-c", "command -v plasma-browser-integration-host"]
|
|
||||||
onExited: (exitCode, exitStatus) => {
|
|
||||||
root.hasPlasmaIntegration = (exitCode === 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function isRealPlayer(player) {
|
function isRealPlayer(player) {
|
||||||
if (!Config.options.media.filterDuplicatePlayers) {
|
if (!Config.options.media.filterDuplicatePlayers) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
// Remove unecessary native buses from browsers if there's plasma integration
|
// Remove native browser buses only if plasma-browser-integration is actually active on D-Bus
|
||||||
!(hasPlasmaIntegration && player.dbusName.startsWith('org.mpris.MediaPlayer2.firefox')) && !(hasPlasmaIntegration && player.dbusName.startsWith('org.mpris.MediaPlayer2.chromium')) &&
|
!(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
|
// playerctld just copies other buses and we don't need duplicates
|
||||||
!player.dbusName?.startsWith('org.mpris.MediaPlayer2.playerctld') &&
|
!player.dbusName?.startsWith('org.mpris.MediaPlayer2.playerctld') &&
|
||||||
// Non-instance mpd bus
|
// Non-instance mpd bus
|
||||||
|
|||||||
Reference in New Issue
Block a user