Intereting Posts
Как я могу скрыть имена значков на рабочем столе Unity, Ubuntu 16.04? Переделный диск, не заботясь о том, что на нем Как я могу экспортировать пользовательские словари в Libreoffice Обновление до 16.04. php7 не работает в браузере Как разбить небольшой SSD вместе с HDD при установке Ubuntu Как делать снимки с помощью asus 1015cx? Сценарии правил udev имеют доступ только для чтения к /, ubuntu16.10 Как установить Ubuntu Desktop 13.04 с зеркальным RAID? Инструмент настройки Unity: как отключить ярлыки переключения окон? Hearthstone на PlayOnLinux: я могу ALT + TAB выйти из игры, но я не могу ALT + TAB вернуться в Могу ли я предотвратить / запретить стандартным пользователям устанавливать / удалять программное обеспечение? Что означает «+ 3» в результате «ls -al»? Ошибка Wireshark при запуске захвата Как сохранить установленное программное обеспечение между установками Ubuntu / Инструменты для инвентаризации программного обеспечения? не удалось установить отрицательные числа в красном качестве по умолчанию в libreoffice calc

Как добавить пользовательский элемент в Sound Indicator (и сделать его кликабельным более одного раза)?

Оригинальный вопрос

Звуковой индикатор

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

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


Изменить 2 – Теперь грязный DBus hack

Одна проблема с одним щелчком мыши из одного редактирования раньше превратилась в проблему 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, имеет недостаток, что итоговую запись в звуке индикатора можно щелкнуть только один раз за сеанс . Если у кого-то есть исправление, пожалуйста, прокомментируйте или ответьте, вы будете поддержаны. Здесь вы можете увидеть результат:

Звуковой индикатор со входом в скрипт

Я сильно подозреваю, что проблема связана с .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 

Запустив dconf-editor из dconf-tools Установка dconf-tools мы можем включить приложение MPRIS, совместимое с медиа-плеером, в звуковое меню с ключом «com.canonical.indicator.sound.interested-media-players» .

введите описание изображения здесь

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

введите описание изображения здесь

Поскольку запись в этом меню тесно связана с медиаплеером, управление приложениями выполняется с помощью шины сеанса DBus com.canonical.indicator.sound . Вот почему мы не сможем перезапустить скрипт до тех пор, пока не будет выполнен сброс индикатора. Мне удалось перезапустить тестовое приложение после выполнения Shutdown () на объекте org / ayatana / indicator / service, но это довольно хак и, определенно, не то, как следует использовать меню звуковых индикаторов.

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