Чи є фантастичний спосіб отримати екранне повідомлення про гучність для роботи з pulseaudio та ALSA? Зараз стандартні настільні для мене працюють лише з pulseaudio. Як щодо вертикальної екранного меню, яку я можу використовувати як падіння заміни або виклик з командного рядка, щоб повідомити про зміни довільних відсотків графічно, як смугу, яка рухається вгору і вниз?
Причина, чому мені потрібно, щоб він працював як з ALSA, так і з pulseaudio, це те, що я використовую додаток WINE, який не грає добре з імпульсом, тому я вбиваю імпульс перед запуском програми Windows для використання ALSA без зайвого шару абстракції. Коли я зрозумів, що клавіші гучності на моїй клавіатурі не працюють без імпульсу, я написав декілька скриптів bash, які я викликаю або Compiz, або Openbox (налаштований відповідно через CCSM та lxde-rc.xml), щоб захопити сигнал виходу з pulseaudio --check
та потім відповідно регулюйте гучність:
vol_step_up
#!/bin/bash
pulseaudio --check
if [ $? -eq 0 ] ; then
pactl set-sink-volume 0 -- +3db
else
amixer -c0 set Master playback 3+
fi
vol_step_down
#!/bin/bash
pulseaudio --check
if [ $? -eq 0 ] ; then
pactl set-sink-volume 0 -- -3db
else
amixer -c0 set Master playback 3-
fi
Сценарії чудово працюють і відображають кнопки просто чудово, але я більше не маю гарного способу бачити візуальний зворотній зв'язок - навіть не з імпульсними, оскільки я ловлю події на кнопки (XF86AudioLowerVolume тощо). Очевидно, що я міг просто зіставити клавіші гучності ALSA на щось інше, але дублювати клавіші швидкого доступу немає сенсу.
Я знайшов контроль гучності python, який я можу викликати у вищезазначених сценаріях:
https://github.com/fishman/utils/blob/master/pvol.py
pvol.py -s
показує поточний рівень гучності на екрані як для ALSA, так і для pulseaudio, але він жахливо крихітний у порівнянні з екраном для gnome, який я використовував, і він не вертикальний (смуга вгорі, стара ОЗД внизу):
Отже, я зробив це більше і обернув його навколо:
Але навіть при переключенні орієнтації на вертикальну, синя тема GTK за замовчуванням не настільки гладка, як VLC (див. Нижче).
Більшість з того, що я виявив у пошуку реалізацій екранного меню, - це повідомлення про команди сповіщення-відправлення, яким не вистачає всієї концепції панелі прогресу. В іншому випадку це здебільшого горизонтальні смуги (і безліч підрахунків заповнювачів у скриптах bash). Дійсно, все, що мені потрібно зробити, це зателефонувати в amix & pactl, тому щось просте, як-то смужка прогресу gtk у pvol.py, було б чудово - просто не так синьо і не прямо в середині екрана.
VLC має хороший приклад того, що я маю на увазі, коли ви прокручуєте колесо миші в повноекранному режимі:
Це набагато менш обструктивно, ніж звичайні поля, які сидять в центрі екрану:
Вся аналогія горизонтального слайдера ніколи не мала для мене особливого сенсу поза панорами звуку між лівим і правим динаміками.
У будь-якому випадку, як це викликати сповіщення на робочому столі за замовчуванням (особливо LXDE)? Я бачу багато публікацій про налаштування ключових подій у пресі, але не дуже багато в тому, які сценарії викликають ці події. Які ще варіанти є у вертикально фантазійному відділі?
Крім того, є який-небудь пакет, який я повинен видалити, щоб запобігти виникненню конфліктів між подіями, якими я обробляюсь за допомогою сценаріїв та команд compiz або openbox?
Оновлення: задля з'ясування того, який екранний екран я зараз використовую, я не змінив способу управління кнопкою відключення звуку одразу. Вбивство xfce4-notifyd, а потім натискання кнопки "відключити звук" породжує новий процес xfce4-notifyd, тож я здогадувався, що піктограма "великий динамік" походить із чогось на зразок xfce4-об'ємного, але у мене фактично не встановлено цей пакет ... А-а-а! Вбивство налаштувань gnome-демона зупиняє великий екран в центрі екрана.