Ma barre d'état personnelle + mes widgets incroyablement rapides et efficaces, au cas où quelqu'un en trouverait une utilité.
gBar : barre G TK
Si vous ne disposez pas des dépendances facultatives, certaines fonctionnalités ne sont pas disponibles.
Cloner gBar
git clone https://github.com/scorpion-26/gBar
Configurer avec méson
Toutes les dépendances facultatives activées
meson setup build
Construire et installer
ninja -C build && sudo ninja -C build install
Pour les systèmes Arch, gBar peut être trouvé sur l'AUR. Vous pouvez l'installer par exemple : avec yay yay -S gbar-git
Si vous choisissez l'installation Nix/NixOS, il existe plusieurs façons de le faire, mais elles nécessitent toutes que vous ayez activé les flocons.
gBar.defaultPackage.x86_64-linux
à Environment.systemPackages ou home.packages.gBar.homeManagerModules.x86_64-linux.default
dans la section d'imorts de votre gestionnaire d'accueil. Cela expose l'option programmes.gBar au home-manager, utilisez-la comme ci-dessous. # 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 = [ " " " " ] ;
} ;
} ;
} ;
Barre ouverte sur le moniteur "DP-1"
gBar bar DP-1
Barre ouverte sur le moniteur 0 (ancienne manière de spécifier le moniteur)
gBar bar 0
Ouvrir le flyin audio (soit sur le moniteur actuel, soit sur le moniteur spécifié)
gBar audio [monitor]
Ouvrez le microphone flyin, c'est équivalent au flyin audio
gBar mic [monitor]
Ouvrir le widget Bluetooth
gBar bluetooth [monitor]
Barre avec CSS par défaut
Widget audio avec CSS par défaut
Widget Bluetooth avec CSS par défaut
Bar:
UseHyprlandIPC
est faux, bien que le contrôle de l'espace de travail repose sur Hyprland)Bluetooth :
Vol audio :
Copiez l'exemple de configuration (trouvé sous data/config) dans ~/.config/gBar/config et modifiez-le selon vos besoins.
gBar utilise un système de plugins pour les widgets personnalisés que tout le monde peut créer sans modifier le code source. Les plugins sont des bibliothèques partagées natives, qui doivent être placées dans ~/.local/lib/gBar
, /usr/lib/gBar
ou /usr/local/lib/gBar
. À l'intérieur de l'exemple/, il y a un exemple de configuration de plugin. Pour le créer et l'exécuter, exécutez les commandes suivantes dans le répertoire d'exemple :
meson setup build -Dprefix=~/.local
pour l'utilisateur local OU
meson setup build
pour tous les utilisateurs
ninja -C build install
gBar gBarHelloWorld
Le deuxième argument est le nom de la bibliothèque partagée (sans 'lib' et '.so').
Pour plus d'exemples sur la façon d'utiliser l'API gBar, vous pouvez consulter les widgets intégrés (AudioFlyin.cpp, BluetoothDevices.cpp, Bar.cpp) car ils utilisent la même API.
Et enfin : le mettre en œuvre moi-même est amusant et constitue une excellente excuse pour apprendre quelque chose de nouveau !
Ce projet est destiné à mon usage personnel, même si je souhaite qu'il soit facilement utilisé par d'autres, sans bugs ni configuration compliquée. Cela signifie ce qui suit :
Les couleurs sont issues du thème Dracula : https://draculatheme.com
Tout d’abord, recherchez où se trouvent les données pour gBar. Emplacements possibles :
echo $XDG_DATA_DIRS
Copiez les fichiers scss et css depuis le sens des données dans ~/.config/gBar. par exemple :
mkdir ~/.config/gBar/
cp /usr/local/share/gBar/* ~/.config/gBar/
Cela remplacera le comportement par défaut. Si sass est installé, vous pouvez modifier le fichier scss, puis régénérer le fichier css en conséquence. Sinon, modifiez directement le fichier CSS.
Si vous avez un style.[s]css personnalisé, assurez-vous que les marges/noms/... sont les mêmes que celles trouvées dans style/style.[s]css
.
Si vous avez vérifié le CSS par rapport à gBar en amont et que le problème persiste, veuillez ouvrir un problème.
Modifications majeures (de rupture) apportées au CSS :
.lock-button
par défaut dans votre CSS. Supprimez /tmp/gBar__audio
/ /tmp/gBar__bluetooth
. Cela se produit lorsque vous tuez le widget avant qu'il ne se ferme correctement (automatiquement après quelques secondes pour le widget audio, ou le bouton de fermeture pour le widget Bluetooth). Ctrl-C dans le terminal (SIGINT) convient cependant.
Voir Configuration pour votre système
Veuillez installer une police Nerd à partir de https://www.nerdfonts.com (j'utilise Caskaydia Cove NF) et modifier style.css/style.scss en conséquence (reportez-vous à « Je souhaite personnaliser les couleurs » pour cela). Vous aurez besoin d'une police Nerd avec la version 2.3.0 ou plus récente (pour plus de détails, voir ce commentaire)
Certaines applications ne recherchent parfois pas activement les applications de la barre d'état. Une solution à ce problème consiste à démarrer gBar avant l'application de la barre d'état. Si elle ne s'affiche toujours pas, veuillez ouvrir un problème avec votre application. Il est confirmé que les icônes de la barre d'état fonctionnent avec Discord, Telegram, OBS, Steam et KeePassXC
Il s'agit d'un bug semi-intentionnel et connu (voir #12 (commentaire) pour une explication). Vous pouvez le rendre opaque en définissant la propriété background-color de .popup dans style.css/style.scss
Depuis bc0281c, ce problème est désormais corrigé ! Pour que les choses soient correctes, vous souhaiterez peut-être mettre à jour votre CSS (en particulier les sélecteurs .popup
et menu
)