Trop de pub tue la pub.
Coupe automatiquement le son des pubs Spotify sous Linux (Arch et toute autre distribution avec PulseAudio ou PipeWire-pulse). Le mute s'applique uniquement à Spotify — le reste du système continue de jouer normalement.
Un petit daemon Python écoute D-Bus directement via PyGObject (mainloop GLib, zéro polling) :
- Détection — abonnement au signal
PropertiesChangedsur l'interface MPRIS de Spotify (org.mpris.MediaPlayer2.spotify). Lempris:trackidest inspecté ; les pubs ont un track-id contenant/ad/ou commençant parspotify:ad:. - Mute — le sink-input audio de Spotify est trouvé via
pactl, filtré parapplication.name,application.process.binaryet les propriétés du client propriétaire. Couvre le client Linux natif ainsi que les variantes Flatpak / Snap.set-sink-input-muteest basculé à l'entrée et à la sortie de chaque pub. - Robustesse —
pactl subscribeest aussi écouté pour qu'un nouveau sink-input apparaissant au milieu d'une pub (reconnexion du flux Spotify) soit muté immédiatement.NameOwnerChangedgère le démarrage / arrêt / redémarrage de Spotify. SIGINT et SIGTERM rétablissent le son sur tout ce qui a été muté avant de quitter.
Seuls les sink-inputs mutés par SpotiFade sont rétablis — un mute manuel de l'utilisateur n'est jamais écrasé.
- Python 3.10+
python-gobject,pactl(paquetlibpulse)
sudo pacman -S python-gobject libpulsegit clone https://github.com/SkelosJS/spotifade-linux.git
cd spotifade-linuxTest rapide :
python3 spotify_ad_mute.pyPour lancer SpotiFade automatiquement à la connexion :
# 1. Placer le script dans un emplacement stable
mkdir -p ~/.local/bin
install -m 755 spotify_ad_mute.py ~/.local/bin/
# 2. Installer et activer le service utilisateur
mkdir -p ~/.config/systemd/user
install -m 644 spotify-ad-mute.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now spotify-ad-mute.serviceVérifier les logs :
journalctl --user -u spotify-ad-mute -fSi le script est placé ailleurs que ~/.local/bin/spotify_ad_mute.py,
adapter le ExecStart du fichier spotify-ad-mute.service avant de
copier l'unité.
MIT — voir LICENSE.
