# Alterando sinks do PulseAudio por linha de comando e através do painel do XFCE4
###### tags: `linux` `pulseaudio` `shell script` `xfce`

## Instalação
Se estiver no [Arch Linux](https://www.archlinux.org), instale os pacotes `xfce4-genmon-plugin` e `newaita-icons-git`:
```
sudo pikaur -Syu newaita-icons-git xfce4-genmon-plugin
```
## Scripts
Crie as pastas necessárias:
```shell
mkdir -p ~/bin/ ~/.config/xfce4/scripts/
```
Crie o script em `~/bin/select-sinks.sh`:
```shell
#!/usr/bin/env bash
sink=$(pactl list short sinks | awk 'NR==1{print $2}')
active=$(LANG=C pactl list sinks | awk '{if ($1 == "Active" && $2 == "Port:") {gsub(/[ \t]+$/, "", $2);print $3; exit;}}')
port_one=$(LANG=C pactl list sinks | awk '/Ports/{getline;gsub(":","");gsub(/[ \t]+$/, "", $2);print $1;}')
port_two=$(LANG=C pactl list sinks | awk '/Ports/{getline;getline;gsub(":","");gsub(/[ \t]+$/, "", $2);print $1;}')
if [[ $port_one == *"$active"* ]]; then
pacmd set-sink-port $sink $port_two
exit 0
fi
if [[ $port_two == *"$active"* ]]; then
pacmd set-sink-port $sink $port_one
exit 0
fi
```
Em seguida outro em `~/.config/xfce4/scripts/sinks.sh`:
```shell
#!/usr/bin/env bash
sink=$(pactl list short sinks | awk 'NR==1{print $2}')
active=$(LANG=C pactl list sinks | awk '{if ($1 == "Active" && $2 == "Port:") {print $3; exit;}}')
icon="/usr/share/icons/Newaita-dark/devices/22/audio-headset.svg"
if [[ $active != *"headphones"* ]]; then
icon="/usr/share/icons/Newaita-dark/.DP/22/speaker.svg"
fi
echo "<img>${icon}</img>"
echo "<click>bash -c $HOME/bin/select-sink.sh</click>"
```
## Configuração
Clique com o direito na barra de tarefas do XFCE e vá em `Painel` > `Adicionar novos itens...`:

Selecione `Monitor genérico` e clique em `Adicionar`:

No novo item que será criado, clique com o botão direito e vá em `Propriedades`:

Em `Comando` adicione o seguinte comando:
```shell
bash -c "$HOME/.config/xfce4/scripts/sinks.sh"
```
Desmarque `Rótulo` e `Período(s)` deixe em `10,00` depois clique em `Salvar`:

## Resultado
| Altofalante | Headset |
| -------- | -------- |
|  |  |
## Ajude
Se esse artigo foi útil pra você de alguma maneira(eu espero que sim :grinning:) considere doar um valor simbólico ou me patrocinar para que eu possa ajudar sempre mais.
[](https://liberapay.com/sistematico/donate) [](https://pag.ae/bfxkQW) [](https://ko-fi.com/K3K32RES9) [](https://www.buymeacoffee.com/sistematico) [](https://opencollective.com/sistematico) [](https://patreon.com/sistematico)
