xfce4-pulseaudio-plugin и значок микрофона на панельке

Давно ничего не писал, нет времени да и то что можно было бы написать.
Так как моя нынешняя работа очень часто связана с онлайн митами(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}"

Комментарии ()

    Есть вопрос или предложение пиши в Telegram @cloudsv

    MTProto прokси для Telegram

    Прямой эфир

    Ярослав 04 августа 2022, 11:31
    Обновление Scala Rider G4 48
    Александр 23 июня 2022, 15:29
    Подключение к VPN внутри Docker контейнера 1
    cloudsv 03 января 2022, 10:50
    Let's Encrypt это легко и просто 4
    Bot 16 августа 2021, 20:32
    Полезные боты в Telegram 1
    cloudsv 10 сентября 2020, 13:17
    MySQL Workbench падает при подключении 2
    cloudsv 05 августа 2020, 11:57
    Мне вчера стукнуло 34 4
    Tmks 24 января 2020, 01:05
    Настройка прокси mtproto для Telegram 50
    cloudsv 26 октября 2019, 20:11
    Linux I/O Scheduler, для кого какой? 2
    alex 26 февраля 2019, 11:28
    Установка и настройка minidlna 1
    cloudsv 17 октября 2020, 09:55
    Arch Linux Отключить DHCP IPv6 в systemd 0
    cloudsv 30 июля 2020, 21:54
    О жизни Мне вчера стукнуло 34 4
    cloudsv 15 апреля 2020, 15:45
    Arch Linux Основные hotkeys редактора Vim 0
    cloudsv 01 октября 2019, 08:00
    Arch Linux Локальный редирект порта в Linux 0
    cloudsv 25 августа 2019, 16:14
    О жизни Социальная сеть от Яндекса Aura 0
    cloudsv 30 июля 2019, 21:34
    О жизни 33 year old 0
    cloudsv 25 июня 2019, 18:29
    Telegram Полезные боты в Telegram 1