Вчера на github появились исходники открытого проекта musicpaused. Основное предназначение программы — приостанавливать воспроизведение музыки при вынимании наушников так же, как это делают мобильные устройства на ОС Android и iOS. Многие хотели бы иметь такую же функциональность и на своих ноутбуках и компьютерах, и теперь это возможно. Также она может показывать уведомления на рабочем столе при вставке и вынимании разъёмов наушников, микрофона и некоторых других. Для Линукса подобных программ раньше не было.
Программа состоит из 3 демонов:
- jacklistener — монитор событий изменения состояния разъёмов. Читает события из event-device'ов и передаёт их в виде сигналов на системную шину D-Bus;
- musicpaused — демон, работающий с правами пользователя и приостанавливающий воспроизведение музыки при получении сигнала о вынимании наушников от jacklistener. Может управлять всеми плеерами, поддерживающими интерфейс MPRIS;
- jacknotifier — демон, работащий с правами пользователя и показывающий уведомления на рабочем столе при получении сигналов от jacklistener.
Такая организация программы позволяет легко расширять её функциональность за счёт написания дополнительных демонов, выполняющих какую-то одну задачу и взаимодействующих с сервером jacklistener.
Программа работает, если ядро сообщает об изменении состояния разъёмов через event-интерфейс. Для аудиокарт Intel HDA необходимо включить в конфигурации ядра опцию CONFIG_SND_HDA_INPUT_JACK.
На гитхабе доступны исходники и ебилды для Gentoo, а также инструкции по установке.
Исходники jacklistener
Исходники jacknotifier
>>> Исходники musicpaused
autopause, daemon, linux, pause, музыка