nosignal-shell/src/utils/mpris.ts
2 * r + 2 * t 02fd2e97f2 refactor: move ts to src
Also move popupwindow to own file
2025-01-16 16:35:37 +11:00

16 lines
844 B
TypeScript

import { GLib } from "astal";
import AstalMpris from "gi://AstalMpris";
const hasPlasmaIntegration = GLib.find_program_in_path("plasma-browser-integration-host") !== null;
export const isRealPlayer = (player?: AstalMpris.Player) =>
player !== undefined &&
// Player closed
player.identity !== null &&
// Remove unecessary native buses from browsers if there's plasma integration
!(hasPlasmaIntegration && player.busName.startsWith("org.mpris.MediaPlayer2.firefox")) &&
!(hasPlasmaIntegration && player.busName.startsWith("org.mpris.MediaPlayer2.chromium")) &&
// playerctld just copies other buses and we don't need duplicates
!player.busName.startsWith("org.mpris.MediaPlayer2.playerctld") &&
// Non-instance mpd bus
!(player.busName.endsWith(".mpd") && !player.busName.endsWith("MediaPlayer2.mpd"));