Давно ничего не писал, нет времени да и то что можно было бы написать.
Так как моя нынешняя работа очень часто связана с онлайн митами(Google meet) то хочется видеть на xfce4 панельке статус микрофона, включен он или выключен.
Погуглив оказалось, что
xfce4-pulseaudio-plugin
к сожалению так не умеет, полез в репозиторий с кодом этого плагина и нашел
Merge Request в котором какой то добрый человек, ГОД назад(May 18, 2021) добавил эту функцию.
Ну нам ничего не остается кроме как собрать этот плагин и положить к себе в систему. Для этого нам понадобится docker, так как у меня debian:testing, буду собирать в нем, если у вас
xubuntu
я думаю вы сообразите что делать.
Запускаем контейнер с ID юзера 1000
docker run --name=plugin-build -v ~/src/xfce4-pulseaudio-plugin:/plugin -u 1000 -it debian:testing bash
Идем в этот контейнер под юзером root и устанавливаем
огромную кучу пакетов
docker exec -it plugin-build bash
apt install xfce4-dev-tools git build-essential libglib2.0-dev xorg-dev libpulse-dev libgtk-3-dev libexo-2-dev libxfce4ui-2-dev libxfce4panel-2.0-dev libnotify-dev libkeybinder-dev libkeybinder-3.0-dev libwnck-3-dev xfce4-dev-tools git build-essential libglib2.0-dev xorg-dev libpulse-dev libgtk-3-dev libexo-2-dev libxfce4ui-2-dev libxfce4panel-2.0-dev libnotify-dev libkeybinder-dev libkeybinder-3.0-dev libwnck-3-dev vim
Возвращаемся в консоль с
user:1000 и клонируем репозиторий с
xfce4-pulseaudio-plugin
cd /plugin
git clone https://gitlab.xfce.org/a-ba/xfce4-pulseaudio-plugin .
git remote add original https://gitlab.xfce.org/panel-plugins/xfce4-pulseaudio-plugin.git
git pull original master
git checkout mic-button
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git merge master
./autogen.sh
Должно в консоль вывести такое
Build Configuration:
* Debug Support: minimum
* Use keybinder: yes
* Use libnotify: yes
* Use MPRIS2: yes
* Experimenal libwnck support: yes
* Default Mixer command: pavucontrol
Если все так, то можно собирать
make
Осталось скопировать свежесобранный плагин к нам в систему, на хосте выполним
sudo install -o root -m 644 ~/src/xfce4-pulseaudio-plugin/panel-plugin/libs/libpulseaudio-plugin.so /usr/lib/x86_64-linux-gnu/xfce4/panel/plugins/libpulseaudio-plugin.so
Перезагрузите плагин
pkill -1 -f libpulseaudio-plugin.so
И теперь в настройках должен появится пункт про микрофон
Включаем, опять перегружаем плагин и проверяем все ли работает — горячие клавиши изменения громкости, уведомления.
Скрипт быстрого выключению микрофона в pipewire
#!/bin/bash
pactl set-source-mute 0 toggle
CURRENT_SOURCE=$(pactl info | grep "Default Source" | cut -f3 -d" ")
status=$(pactl list sources | grep "${CURRENT_SOURCE}" -A10 | grep -i "Mute: yes" && echo 1 || echo 0)
icon="notification-microphone-sensitivity-muted"
text="Off"
if [ $status -eq 0 ]; then
icon="notification-microphone-sensitivity-high"
text="On"
fi
notify-send --urgency=low -i $icon "Microphone ${text}"
#notification-microphone-sensitivity-muted
#notification-microphone-sensitivity-high
Быстрое переключения профилей bluethooth — HandsFree, a2dp
#!/bin/bash
hf=3
a2dp=2
btId=$(wpctl status | grep bluez5 | grep -P -o "\s\d+")
profile=$a2dp
profileName="a2dp"
if [ "$1" == "hf" ]; then
profile=$hf
profileName="HadsFree"
fi
wpctl set-profile $btId $profile
notify-send --urgency=low -i info "Set bluethooth profile: ${profileName}"
Комментарии ()