Minha barra de status + widgets pessoais extremamente rápidos e eficientes, caso alguém encontre uma utilidade para ela.
gBar: Barra G TK
Se você não tiver dependências opcionais, alguns recursos não estarão disponíveis.
Clonar gBar
git clone https://github.com/scorpion-26/gBar
Configurar com méson
Todas as dependências opcionais habilitadas
meson setup build
Construir e instalar
ninja -C build && sudo ninja -C build install
Para sistemas Arch, o gBar pode ser encontrado no AUR. Você pode instalá-lo, por exemplo: com yay yay -S gbar-git
Se você escolher a instalação do Nix/NixOS, há algumas maneiras de fazer isso, mas todas exigem que você tenha os flakes ativados.
gBar.defaultPackage.x86_64-linux
a Environment.systemPackages ou home.packages.gBar.homeManagerModules.x86_64-linux.default
à seção de imorts do seu gerenciador de casa. Isso expõe a opção program.gBar ao home-manager, use-a como abaixo. # Inputs section
inputs . gBar . url = "github:scorpion-26/gBar" ;
...
# Inside home config
home-manager . users . user = {
...
imports = [ inputs . gBar . homeManagerModules . x86_64-linux . default ] ;
...
programs . gBar = {
enable = true ;
config = {
Location = "L" ;
EnableSNI = true ;
SNIIconSize = {
Discord = 26 ;
OBS = 23 ;
} ;
WorkspaceSymbols = [ " " " " ] ;
} ;
} ;
} ;
Barra aberta no monitor "DP-1"
gBar bar DP-1
Barra aberta no monitor 0 (forma herdada de especificar o monitor)
gBar bar 0
Abra o audio flyin (no monitor atual ou no monitor especificado)
gBar audio [monitor]
Microfone aberto voando, isso é equivalente ao áudio voando
gBar mic [monitor]
Abrir widget Bluetooth
gBar bluetooth [monitor]
Barra com CSS padrão
Widget de áudio com CSS padrão
Widget Bluetooth com CSS padrão
Bar:
UseHyprlandIPC
é falso, embora o controle do espaço de trabalho dependa do Hyprland)Bluetooth:
Voo de áudio:
Copie a configuração de exemplo (encontrada em data/config) em ~/.config/gBar/config e modifique-a de acordo com suas necessidades.
gBar utiliza um sistema de plugins para widgets personalizados que qualquer pessoa pode criar sem modificar o código-fonte. Plugins são bibliotecas compartilhadas nativas, que precisam ser colocadas dentro de ~/.local/lib/gBar
, /usr/lib/gBar
ou /usr/local/lib/gBar
. Dentro de example/ há um exemplo de configuração de plugin. Para compilá-lo e executá-lo, execute os seguintes comandos dentro do diretório de exemplo:
meson setup build -Dprefix=~/.local
para o usuário local OU
meson setup build
para todos os usuários
ninja -C build install
gBar gBarHelloWorld
O segundo argumento é o nome da biblioteca compartilhada (sem 'lib' e '.so').
Para obter mais exemplos de como usar a API gBar, você pode dar uma olhada nos widgets integrados (AudioFlyin.cpp, BluetoothDevices.cpp, Bar.cpp), pois eles usam a mesma API.
E por último: implementá-lo sozinho é divertido e uma ótima desculpa para aprender algo novo!
Este projeto é para meu uso pessoal, embora eu queira que ele seja facilmente usado por outras pessoas, sem bugs ou configurações complicadas. Isso significa o seguinte:
As cores são do tema Drácula: https://draculatheme.com
Primeiro, descubra onde os dados estão localizados para gBar. Locais possíveis:
echo $XDG_DATA_DIRS
Copie os arquivos scss e css da direção de dados para ~/.config/gBar. por exemplo:
mkdir ~/.config/gBar/
cp /usr/local/share/gBar/* ~/.config/gBar/
Isso substituirá o comportamento padrão. Se você tiver o sass instalado, poderá modificar o arquivo scss e, em seguida, gerar novamente o arquivo css de acordo. Caso contrário, modifique o arquivo css diretamente.
Se você tiver um style.[s]css personalizado, certifique-se de que as margens/nomes/... sejam iguais às encontradas em style/style.[s]css
.
Se você verificou o css em relação ao gBar upstream e o problema persiste, abra um problema.
Principais alterações (quebrantes) no CSS:
.lock-button
em seu css. Exclua /tmp/gBar__audio
/ /tmp/gBar__bluetooth
. Isso acontece quando você encerra o widget antes que ele feche corretamente (automaticamente após alguns segundos para o widget de áudio ou o botão Fechar para o widget Bluetooth). Ctrl-C no terminal (SIGINT) está bem.
Consulte Configuração do seu sistema
Instale uma fonte Nerd em https://www.nerdfonts.com (eu uso Caskaydia Cove NF) e altere style.css/style.scss de acordo (consulte 'Quero personalizar as cores' para isso). Você precisará de uma Fonte Nerd com versão 2.3.0 ou mais recente (Para mais detalhes veja este comentário)
Às vezes, alguns aplicativos não consultam ativamente aplicativos de bandeja. Uma solução para isso é iniciar o gBar antes do aplicativo da bandeja. Se ainda assim não aparecer, abra um problema com seu aplicativo. Os ícones da bandeja estão confirmados para funcionar com Discord, Telegram, OBS, Steam e KeePassXC
Isso é semi-intencional e um bug conhecido (veja o item 12 (comentário) para uma explicação). Você pode torná-lo opaco definindo a propriedade background-color de .popup em style.css/style.scss
A partir de bc0281c, isso foi corrigido! Para que as coisas pareçam corretas, você pode atualizar seu css (especificamente os seletores .popup
e menu
)