ghost-pause — событие звука браузера

ghost-pause — событие звука браузера A sequence diagram generated by Archify. sink-input появился, не corked ListNames org.mpris.MediaPlayer2.* GetProperty PlaybackStatus Playing Player.Pause sink-input исчез / corked Player.Play Браузер начал играть Браузер замолк PulseAudio · pactl subscribe · Sequence participant PulseAudio pactl subscribe ghost-pause · Go-демон · Sequence participant ghost-pause Go-демон D-Bus · session bus · Sequence participant D-Bus session bus MPRIS-плеер · Spotify и т.п. · Sequence participant MPRIS-плеер Spotify и т.п. Legend request return default message

Почему event-driven, а не polling

  • • pactl subscribe реагирует ровно в момент события — без постоянной фоновой нагрузки
  • • Опрос раз в секунду держал бы CPU занятым вхолостую большую часть времени

Управление без перезапуска

  • • ghost-pause stop/start шлют SIGUSR1/SIGUSR2 по PID из файла
  • • Обработчик сигнала переключает флаг enabled внутри select, процесс не перезапускается