Pular para o conteúdo
Todos os projetos

Desktop Linux

PeriGauge

A bateria do mouse, do teclado e dos fones, no seu painel.

Monitor de bateria para mouses, teclados e fones Bluetooth no desktop Linux: um binário em Rust, local, sem rede e sem telemetria, com widget para o KDE Plasma 6 e avisos de bateria baixa.

Status
Alpha
Ano
2026
Categoria
Desktop Linux
Licença
MIT
PERIGAUGEKeychron M6ultra-link 8k72Galaxy Buds3 Probluetooth · sppLRcaseMX Master 3Shid++ · bolt9%12:48Alpha

Sobre o projeto

O PeriGauge mostra a bateria dos periféricos sem fio no painel e na área de trabalho do Linux, com um medidor por dispositivo — incluindo fone esquerdo, fone direito e estojo — em gauge circular ou em barras. Um serviço de usuário lê os dispositivos a cada 30 segundos e avisa em 20%, 10% e 5% e quando a carga completa. Cada limiar dispara uma vez por descarga, e leituras desatualizadas, ausentes ou estimadas pela tensão nunca geram notificação.

O núcleo é um único binário em Rust, com backends para o HID++ 2.0 da Logitech (Bolt, Unifying e Bluetooth), o receptor Ultra-Link 8K da Keychron, o status SPP dos Galaxy Buds e tudo o que o UPower já conhece — sem depender do Solaar. Os widgets consomem um contrato JSON versionado. O instalador escreve só nos diretórios do usuário e nunca usa sudo; o acesso HID sem root é uma regra udev separada e explícita. O PeriGauge substituiu o antigo helper perif-battery, escrito em Python.

Destaques

  • Verificado em hardware com o Keychron M6 (receptor Ultra-Link 8K) e os Galaxy Buds3 Pro no KDE Plasma 6.6; o HID++ da Logitech está implementado e testado com fixtures, com validação em hardware pendente.
  • Widget QML para o KDE Plasma 6 com gauges circulares ou barras e medidores separados para fone esquerdo, fone direito e estojo.
  • Avisos em 20%, 10%, 5% e 100%, com histerese: cada limiar dispara uma vez por descarga e rearma quando a carga se recupera.
  • Local por padrão: só conversa com os dispositivos e com o desktop, sem rede e sem telemetria.
  • Contrato JSON versionado (perigauge status --json) compartilhado pelos widgets e comando doctor para diagnóstico.
  • Release com checksums SHA-256, instalador com --dry-run e sem sudo, e regra udev opcional documentada no SECURITY.md.

Projetos

Outros projetos

Contato

Vamos conversar?

Tem um desafio de plataforma, nuvem ou observabilidade — ou quer trocar ideia sobre algum projeto? Me chame no WhatsApp ou por e-mail.