Sobre o projeto

Zebar é uma ferramenta de personalização de desktop multiplataforma para criar barras de tarefas, widgets de desktop e popups. Funciona no Windows, macOS e Linux, com downloads publicados na versão mais recente do projeto; compilações locais estão documentadas no guia de contribuição. Os widgets são renderizados em webviews nativas, descritas como semelhantes ao Electron, porém mais leves. O aplicativo é controlado por um ícone na bandeja do sistema que abre uma GUI, onde os usuários podem navegar por um marketplace de pacotes de widgets, instalá-los e configurar pacotes para serem executados na inicialização. Os pacotes de widgets ficam no diretório ~/.glzr/zebar. Cada pacote é um diretório contendo um arquivo zpack.json que define o pacote e seus widgets individuais; o Zebar examina apenas um nível de profundidade, portanto diretórios de pacotes aninhados não são detectados. Um esquema JSON para zpack.json é fornecido no repositório, e as mesmas opções podem ser configuradas pela GUI. A GUI pode criar um novo pacote com nome e descrição, e adicionar widgets a um pacote a partir de modelos. A maioria dos modelos exige Node.js e um gerenciador de pacotes (npm ou pnpm) e uma etapa de compilação após alterações no código-fonte; um modelo React sem compilação evita esse requisito. Os widgets consistem em um arquivo HTML mais recursos como CSS, JS e imagens. Widgets do marketplace podem ser copiados do diretório de downloads para o diretório Zebar do próprio usuário, para personalizá-los sem serem sobrescritos. Um recurso importante é o conjunto de "provedores" reativos expostos pelo pacote NPM zebar, dando aos frontends acesso a informações do sistema que mudam ao longo do tempo. Os provedores documentados incluem audio, battery, cpu, date, disk, glazewm, host, ip, keyboard, komorebi, media, memory, network, systray e weather. Cada provedor tem intervalos de atualização configuráveis e saídas tipadas; por exemplo, battery expõe percentual de carga, saúde, contagem de ciclos, estado, status de carregamento, tempo até esvaziar ou completar, consumo de energia e voltagem, enquanto audio expõe dispositivos de reprodução e gravação, dispositivos padrão e uma função setVolume. Date oferece suporte a tokens de formatação personalizados, configurações de fuso horário e localidade. Vários provedores se integram a gerenciadores de janelas como GlazeWM e komorebi. O README observa um item de solução de problemas no Windows: se o Zebar não iniciar, pode ser necessário atualizar para o runtime mais recente do Microsoft WebView2 por meio do Evergreen Standalone Installer. O projeto tem link para uma comunidade no Discord e marca good first issues para novos contribuidores.