Mi barra de estado y widgets personales increíblemente rápidos y eficientes, en caso de que alguien le encuentre utilidad.
gBar: Barra G TK
Si no tiene las dependencias opcionales, algunas funciones no estarán disponibles.
Clonar gBar
git clone https://github.com/scorpion-26/gBar
Configurar con mesón
Todas las dependencias opcionales habilitadas
meson setup build
Construir e instalar
ninja -C build && sudo ninja -C build install
Para los sistemas Arch, gBar se puede encontrar en AUR. Puedes instalarlo, por ejemplo: con yay yay -S gbar-git
Si elige la instalación de Nix/NixOS, hay un par de formas de hacerlo, pero todas requieren que tenga habilitados los flakes.
gBar.defaultPackage.x86_64-linux
a Environment.systemPackages o home.packages.gBar.homeManagerModules.x86_64-linux.default
a la sección de imorts de su administrador de hogar. Esto expone la opción programas.gBar al administrador del hogar, úsela como se muestra a continuación. # 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 libre en monitor "DP-1"
gBar bar DP-1
Barra abierta en el monitor 0 (forma heredada de especificar el monitor)
gBar bar 0
Abrir audio volando (ya sea en el monitor actual o en el monitor especificado)
gBar audio [monitor]
Micrófono abierto volando, esto es equivalente al vuelo de audio.
gBar mic [monitor]
Abrir widget de bluetooth
gBar bluetooth [monitor]
Barra con CSS predeterminado
Widget de audio con CSS predeterminado
Widget Bluetooth con CSS predeterminado
Bar:
UseHyprlandIPC
es falso, aunque el control del espacio de trabajo depende de Hyprland)Bluetooth:
Audio volando:
Copie la configuración de ejemplo (que se encuentra en data/config) en ~/.config/gBar/config y modifíquela según sus necesidades.
gBar utiliza un sistema de complementos para widgets personalizados que cualquiera puede crear sin modificar el código fuente. Los complementos son bibliotecas compartidas nativas, que deben colocarse dentro de ~/.local/lib/gBar
, /usr/lib/gBar
o /usr/local/lib/gBar
. Dentro de example/ hay una configuración de complemento de ejemplo. Para compilarlo y ejecutarlo, ejecute los siguientes comandos dentro del directorio de ejemplo:
meson setup build -Dprefix=~/.local
para el usuario local O
meson setup build
para todos los usuarios
ninja -C build install
gBar gBarHelloWorld
El segundo argumento es el nombre de la biblioteca compartida (sin 'lib' ni '.so').
Para obtener más ejemplos sobre cómo utilizar la API gBar, puede echar un vistazo a los widgets integrados (AudioFlyin.cpp, BluetoothDevices.cpp, Bar.cpp), ya que utilizan la misma API.
Y por último: ¡implementarlo yo mismo es divertido y una gran excusa para aprender algo nuevo!
Este proyecto está destinado a mi uso personal, aunque quiero que otros lo utilicen fácilmente sin errores ni una configuración complicada. Esto significa lo siguiente:
Los colores son del tema Drácula: https://draculatheme.com
Primero, busque dónde se encuentran los datos de gBar. Posibles ubicaciones:
echo $XDG_DATA_DIRS
Copie los archivos scss y css desde la dirección de datos a ~/.config/gBar. p.ej:
mkdir ~/.config/gBar/
cp /usr/local/share/gBar/* ~/.config/gBar/
Esto anulará el comportamiento predeterminado. Si tiene sass instalado, puede modificar el archivo scss y luego regenerarlo en consecuencia. De lo contrario, modifique el archivo CSS directamente.
Si tiene un estilo personalizado.[s]css, asegúrese de que los márgenes/nombres/... sean los mismos que los que se encuentran en style/style.[s]css
.
Si ha verificado el CSS con gBar ascendente y el problema persiste, abra un problema.
Cambios importantes (de última hora) en el CSS:
.lock-button
en su CSS. Eliminar /tmp/gBar__audio
/ /tmp/gBar__bluetooth
. Esto sucede cuando cierra el widget antes de que se cierre correctamente (automáticamente después de unos segundos para el widget de audio o el botón de cerrar para el widget de bluetooth). Sin embargo, Ctrl-C en la terminal (SIGINT) está bien.
Ver Configuración de su sistema
Instale una fuente Nerd de https://www.nerdfonts.com (yo uso Caskaydia Cove NF) y cambie style.css/style.scss en consecuencia (consulte 'Quiero personalizar los colores' para eso). Necesitará una fuente Nerd con la versión 2.3.0 o posterior (para obtener más detalles, consulte este comentario)
Algunas aplicaciones a veces no consultan activamente las aplicaciones de la bandeja. Una solución para esto es iniciar gBar antes que la aplicación de bandeja. Si aún no aparece, abra un problema con su aplicación. Se confirma que los íconos de la bandeja funcionan con Discord, Telegram, OBS, Steam y KeePassXC.
Esto es semiintencional y es un error conocido (consulte el punto 12 (comentario) para obtener una explicación). Puedes hacerlo opaco configurando la propiedad color de fondo de .popup en style.css/style.scss
¡A partir de bc0281c, esto ya está solucionado! Para que todo se vea correctamente, es posible que desees actualizar tu CSS (específicamente los selectores .popup
y menu
)