Как я могу добавить пользовательский объект к Звуковому Индикатору (и сделать его активируемым по щелчку несколько раз)?

Исходный вопрос

Sound indicator

Одна из силы Единицы является различными стандартизированными индикаторами. Я хочу настроить звуковой индикатор с дополнительной записью меню, которая выполняет маленький сценарий оболочки. Я не боюсь небольшого кода Python, и я надеюсь, что кто-то может указать на меня на правильную подпрограмму в правильном файле. Я подозреваю, что это будет довольно легко, но все индикаторы именно так чрезмерно увеличены в размере, что я не могу просмотреть их код в разумный срок.

Любая справка ценится. Я знаю, что это возможно, поскольку чудесная Обертка Skype делает это.


Редактирование 2 - Теперь грязный взлом DBus

Одна проблема щелчка от одного редактирования прежде теперь превратилась в проблему DBus. В основном мы должны сказать звуковому индикатору, что наш поддельный плеер завершил теперь. Грязный взлом перешел вокруг той проблемы:

#!/bin/bash
# This is '/home/confus/bin/toggleSpeaker.sh'

notify-send "Toggle Speaker" "$(date)"
qdbus \
    com.canonical.indicator.sound  \
    /org/ayatana/indicator/service \
    org.ayatana.indicator.service.Shutdown
exit 0

Справка от сообщества ценится, поскольку у меня нет опыта никем с DBus вообще.


Редактирование 1 - Takkat нашло решение, но только активируемый по щелчку однажды?

По некоторым причинам решение, предложенное Takkat, имеет недостаток, что получающаяся запись в звуке индикатора может только быть нажата однажды на сессию. Если у кого-то будет фиксация для, чем, прокомментируйте или ответьте, то Вы будете upvoted. Здесь Вы видите результат:

Sound indicator with script entry

Я сильно подозреваю, что проблема связана с .desktop-файлом в /home/confus/.local/share/application/toggleSpeaker.desktop, который является этим:

[Desktop Entry]
Type=Application

Name=toggleSpeaker
GenericName=Toggle Speaker

Icon=gstreamer-properties

Exec=/home/confus/bin/toggleSpeaker.sh
Terminal=false

И вот минимальный пример сценария в /home/confus/bin/toggleSpeaker.sh для Вашего внимания:

#!/bin/bash
# This is '/home/confus/bin/toggleSpeaker.sh'

notify-send "Toggle Speaker" "$(date)"
exit 0
4
задан 13 April 2017 в 15:24

1 ответ

Путем выполнения dconf-редактор от эти dconf-инструменты Install dconf-tools мы можем включить медиаплеер MPRIS complatible приложение к звуковому меню с ключом "com.canonical.indicator.sound.interested-медиаплееры" .

enter image description here

В примере здесь test был включен, который указывает на test.desktop файл в ~/.local/share/applications, куда мы можем запустить наше приложение от Exec= поле. Перезапустите свою сессию для вступления в силу.

enter image description here

, Поскольку запись в этом меню тесно связана с медиаплеером, управление приложениями сделано шиной сессии DBus com.canonical.indicator.sound. Поэтому мы не сможем повторно выполнить сценарий, пока сброс индикатора не был сделан. Я успешно выполнился для перезапуска тестового приложения после выполнения Завершение работы () на объект org/ayatana/indicator/service, но это - настоящий взлом и определенно не способ, которым должно использоваться меню звука индикатора.

Это может однако указать на правильное направление. т.е. мы должны использовать DBus для нашего сценария или приложения, мы хотим находиться в звуковом меню .

индикатора
4
ответ дан 1 December 2019 в 09:53

Другие вопросы по тегам:

Похожие вопросы: