Ir para o conteúdo
Promovaweb

Plugin AirPods no Omarchy

Em destaque

O que o Plugin AirPods faz no seu Omarchy

  1. Veja a bateria de cada AirPod e do estojo
  2. Troque entre Cancelamento, Transparência e Adaptativo
  3. Ajuste o nível do modo Adaptativo
  4. Ligue Conversa e ANC de uma ponta só
  5. Escolha quando a pausa por detecção de ouvido age
AirPodsio.github.thisisgm.omapods
Tipo
Widget da barra
Categoria
Hardware
Origem
Comunidade · thisisgm/omarchy-pods
Mantenedor
GM
Licença
MIT
Versão
1.3.6
Compatibilidade
Omarchy Quattro com AirPods pareados pelo fluxo Bluetooth comum. O widget é MIT e o daemon em daemon/ é uma cópia modificada do librepods sob GPL-3.0. O setup instala cmake, ninja, qt6-connectivity, qt6-tools, qt6-declarative, pkgconf e libpulse, compila o daemon em ~/.local e ativa o librepods.service.
Tags
#barra#quickshell#mídia
Painel do AirPods aberto na barra do Omarchy, com a bateria das duas pontas e do estojo, os modos de escuta e os controles de cancelamento de ruído.
Repositório thisisgm/omarchy-pods (MIT)

Instalar e manter

  1. Instale o plugin

    O Omarchy clona o repositório do plugin e valida os arquivos no seu computador. Só depois ele instala e ativa o plugin.

    Instalar
    omarchy plugin add https://github.com/thisisgm/omarchy-pods --enable && ~/.config/omarchy/plugins/io.github.thisisgm.omapods/setup
  2. Atualize quando sair uma versão nova

    Rode este comando para trazer as mudanças publicadas no repositório do plugin.

    Atualizar
    omarchy plugin update io.github.thisisgm.omapods
  3. Remova quando não precisar mais

    O comando retira o plugin do seu Omarchy. Use o mesmo identificador mostrado no cartão de detalhes.

    Remover
    omarchy plugin remove io.github.thisisgm.omapods

O AirPods mostra na barra o que o BlueZ não expõe para esses fones: a bateria de cada ponta e do estojo, com a dica de carregamento e de presença no ouvido. O painel também traz o modo de escuta ativo, o nível do ANC adaptativo, a Conversa, o ANC de uma ponta só e a detecção de ouvido.

A lista de controles muda conforme o modelo, porque o daemon publica quais recursos o aparelho tem. AirPods 1, 2, 3 e o AirPods 4 sem ANC não recebem seção de escuta. O AirPods Pro 3 não oferece Off. O Adaptativo exige a peça H2 com cancelamento. O ícone troca de silhueta conforme o hardware.

Volume, saída e conexão continuam nos painéis de áudio e Bluetooth do Omarchy.

Antes de instalar

O plugin precisa do daemon em daemon/, compilado e em execução, e de AirPods pareados pelo fluxo Bluetooth comum. Nenhum pacote pronto do librepods serve: as versões do AUR e do projeto original não trazem arquivo de estado, o verbo status, os verbos ca:, onebud: e adaptive: nem a tabela de modelos que chega ao AirPods Pro 3.

omarchy plugin add só clona o plugin. O setup compila o daemon, instala as dependências que faltam e liga o serviço.

Instale e compile o daemon

Terminal
omarchy plugin add https://github.com/thisisgm/omarchy-pods --enable && ~/.config/omarchy/plugins/io.github.thisisgm.omapods/setup

O setup cobre as dependências, compila em ~/.local e ativa librepods.service. O ícone fica oculto até os AirPods conectarem, por causa de hideWhenDisconnected.

Para manter o ícone visível mesmo sem os fones:

Terminal
omarchy bar set io.github.thisisgm.omapods hideWhenDisconnected false --json

Para compilar à mão, o README lista o omarchy pkg add com as mesmas dependências, seguido dos comandos do cmake e de systemctl --user enable librepods.service. O prefixo ~/.local é obrigatório porque a unidade roda %h/.local/bin/librepods, diretório que o Omarchy já coloca no PATH.

Use o painel

Clique com o botão esquerdo para abrir. O botão direito alterna o modo de escuta sem abrir nada. Tab passa para o painel seguinte da barra, então dá para pular do AirPods para o áudio do sistema.

Tecla Ação
j k ou ↓ ↑ percorre as linhas
Enter ou Space ativa a linha atual
← → ajusta o nível do ANC adaptativo
o t a n Off, Transparência, Adaptativo e Cancelamento
c liga e desliga a Conversa
b liga e desliga o ANC de uma ponta
e alterna a detecção de ouvido
Esc fecha

Cada tecla de escuta é ignorada num aparelho que não tem o modo, então a não faz nada num AirPods Pro 1 e as quatro teclas de modo não fazem nada num AirPods 3.

Entenda o ciclo de estado

O daemon grava o status em $XDG_STATE_HOME/librepods/status.json a cada mudança e apaga o arquivo quando para. O painel observa esse arquivo, então um desktop parado não mantém processo nenhum por causa do plugin. O librepods-ctl só entra em ação quando você muda alguma coisa.

A tampa do estojo vem de anúncios BLE. O daemon pausa essa descoberta enquanto o link de controle está ativo, porque as duas coisas juntas causam o chiado da issue 26. A consequência é que o estado da tampa fica parado enquanto os fones seguem conectados, mas bateria, ANC e detecção de ouvido continuam atualizando.

Ajustes do widget

Ajuste Padrão Efeito
Hide when disconnected ligado some da barra em vez de ficar sem informação
Path to librepods-ctl vazio vazio procura o comando no PATH

Saiba o custo do microfone

O daemon escolhe o perfil de reprodução de maior taxa que a placa oferece, o SBC-XQ a 453 kbps, à frente do SBC e do AAC, reaplicando essa escolha a cada ativação da placa. Usar os AirPods como microfone abre mão disso: os perfis de voz expõem apenas 16 kHz ou 8 kHz, e cada um substitui o perfil de reprodução.

Se os perfis de headset desaparecerem da placa, o BlueZ perdeu a conexão HFP. Reconectar esse perfil devolve os dois em segundos e mantém o A2DP ativo.

Remova

Terminal
systemctl --user disable --now librepods.service
xargs rm -f < ~/.config/omarchy/plugins/io.github.thisisgm.omapods/daemon/build/install_manifest.txt
rm -rf ~/.config/AirPodsTrayApp ~/.local/state/librepods
omarchy plugin remove io.github.thisisgm.omapods

O daemon fica em ~/.local e sobrevive à remoção do plugin, então a linha do install_manifest.txt precisa rodar antes de apagar o diretório do plugin. A pasta ~/.config/AirPodsTrayApp guarda o nome do aparelho pareado e as chaves magicAccIRK e magicAccEncKey, que são segredos de pareamento: ela é criada só para o dono e sai junto.