Сценарий ниже опирается на все собственные инструменты Ubuntu, pactl и qdbus, чтобы определить активное приложение, автоматически отключать звук и включать звук, когда приложение получает и фокусируется от пользователя.
Имя приложения установленным в переменной APP_ICON_NAME. Вы можете использовать pactl list sink-inputs | grep icon_name, чтобы определить значение, которое вам нужно установить. В моем случае я протестировал его с помощью chromium-browser.
Скрипт подвергнется незначительным улучшениям в стиле, и, возможно, дополнительные функции будут добавлены, но на данный момент он на 90% полезен и выполняет его задачу должным образом. Он будет в конечном итоге отправлен в github
#!/bin/bash
list_sinks()
{
pactl list sink-inputs | awk '/Sink Input #/{ sub(/#/," "); printf $3" "} /application.icon_name/{ printf $0"\n" }'
}
get_active_app_icon_name()
{
qdbus org.ayatana.bamf /org/ayatana/bamf/matcher org.ayatana.bamf.matcher.ActiveApplication \
| xargs -I {} qdbus org.ayatana.bamf {} org.ayatana.bamf.view.Icon
}
get_sinks_for_app()
{
list_sinks | while read line ; do
if grep -q "$APP_ICON_NAME" <<< "$line"
then
awk '{printf $1" "}' <<< "$line"
fi
done
}
mute_sinks()
{
for sink_id in $( get_sinks_for_app ) ; do
pactl set-sink-input-mute "$sink_id" 1
done
}
unmute_sinks()
{
for sink_id in $( get_sinks_for_app ) ; do
pactl set-sink-input-mute "$sink_id" 0
done
}
main()
{
local APP_ICON_NAME="chromium-browser"
while true
do
if [ "$( get_active_app_icon_name )" != "$APP_ICON_NAME" ] ;
then
mute_sinks
else
unmute_sinks
fi
sleep 0.25
done
}
main
Чтобы подражать панели задач Windows, установите расширение «Dash to Panel». Он сразу же предоставляет панель стиля Windows в нижней части экрана. Он имеет множество опций конфигурации, включая вариант, который вы используете, т. Е. Разгруппируйте кнопки приложений. «Dash to Panel» - превосходная и очень хорошо сохранившаяся оболочка гнома высшего качества.
Чтобы подражать панели задач Windows, установите расширение «Dash to Panel». Он сразу же предоставляет панель стиля Windows в нижней части экрана. Он имеет множество опций конфигурации, включая вариант, который вы используете, т. Е. Разгруппируйте кнопки приложений. «Dash to Panel» - превосходная и очень хорошо сохранившаяся оболочка гнома высшего качества.