====== Polybar ====== * Objet : présentation et configuration de Polybar * Niveau requis : {{tag>débutant avisé}} * Commentaires : traduction du [[https://github.com/polybar/polybar/wiki|wiki officiel Polybar]] * Suivi : {{tag>à-placer}} * Création par [[user>arpinux]] 05/01/2021 * Testé par <...> le <...> FIXME * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=29076| Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) //sources : [[https://github.com/polybar/polybar/wiki|wiki officiel polybar (EN)]]// **polybar** est une application qui permet de formater des données afin de les afficher dans une barre de statut. polybar est utilisée dans la session i3wm sur nakeDeb mais vous pouvez l'activer sur un autre environnement. ===== présentation de polybar ===== Polybar vise à aider les utilisateurs à créer des barres d'état hautement personnalisables pour leur environnement de bureau, sans avoir besoin d'être expert en scripts shell. Polybar permet d'afficher des informations sur les services les plus couramment utilisés. Certains des services inclus jusqu'à présent : * zone de notification * titre de la fenêtre * contrôle et informations à propos de [[https://www.musicpd.org/|MPD]] grâce à [[https://www.musicpd.org/libs/libmpdclient/|libmpdclient]] * contrôle des volumes [[https://www.alsa-project.org/main/index.php/Main_Page|ALSA]] et [[https://www.freedesktop.org/wiki/Software/PulseAudio/|PulseAudio]] * espaces de travail et barre de tâche pour [[https://github.com/baskerville/bspwm|bspwm]] et [[https://github.com/i3/i3|i3]] * espace de travail pour tout gestionnaire de fenêtre compatible [[https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html#idm140130320786080|EWMH]] * mappage clavier et indicateur de touches (Maj, Num) * charge CPU et RAM * état de la batterie * détails des connexions réseaux * niveau de luminosité de l'écran * horloge et calendrier * exécution automatique de scripts * affichage de sortie de commande * menu défini par l'utilisateur * communication inter-process * et plus encore... ===== configuration de polybar ===== la configuration de polybar passe par l'édition de son fichier principal ''%%~/.config/i3/config%%''. //[[https://github.com/polybar/polybar/wiki/Configuration|sources]]// ==== syntaxe du fichier de configuration ==== La configuration utilise le format de fichier [[https://en.wikipedia.org/wiki/INI_file|INI]], la spécification complète peut être trouvée [[https://polybar.readthedocs.io/en/stable/man/polybar.5.html|ici]]. [section/name] str = My string bool = true bool = on int = 10 float = 10.0 ; Placez votre lable entre guillemets pour conserver l'espace additionnel str = " My string" ; Les listes sont en index base 0 mylist-0 = value mylist-1 = value mylist-2 = value ; Les listes doivent être continues. Pour utiliser mylist-4 ; il fauda aussi définir mylist-3 ==== variables de référence ==== ; Vous pouvez référencer une valeur depuis une autre section en utilisant : key = ${section.key} ; Les valeurs de la même section peuvent être référencées en utilisant : key = ${self.key} ; Les valeurs d'une barre définie peuvent être référencées en utilisant : key = ${bar/top.foreground} ; Les valeurs de la barre actuelle peuvent être référencées en utilisant : key = ${root.foreground} ; Les variables d'environnement peuvent être référencées en utilisant : key = ${env:VAR:fallback value} ; Les valeurs de la base de données des .Xresources peuvent être référencées en utilisant: ; Exemple : ; Config Polybar : ; background = $ {xrdb: color2: # 00ff00} ; .Xresources : ; * couleur2: # 8C9440 key = ${xrdb:KEY:fallback value} ; Le contenu d'un fichier peut être référencé en utilisant : key = ${file:/absolute/file/path:fallback value} ==== héritage des propriétés ==== Les valeurs peuvent être héritées d'une autre section en définissant le paramètre ''%%inherit = section/base%%''. Toutes les clés non définies seront clonées. [section/base] foo = 1 bar = 0.15 baz = true [section/child] inherit = section/base baz = false ; Résultat [section/child] foo = 1 bar = 0.15 baz = false ==== inclusion de fichiers ==== Il est possible d'inclure un fichier avec des paires clé-valeur prédéfinies en utilisant : [section/base] include-file = /absolute/path/to/file Cela remplacera la clé ''%%include-file%%'' par le contenu du fichier /absolute/path/to/file.\\ La clé ''%%include-directory%%'' inclura tous les fichiers dans le répertoire donné (de manière non récursive) de la même manière que plusieurs ''%%include-file%%''. Les fichiers sont classés par ordre alphabétique. include-directory = /absolute/path/to/directory ==== variables personnelles ==== Vous pouvez aussi créer vos variables 'perso' afin d'y faire références au long du fichier de config. [colors] black = #000 white = #fff blue = #00f green = #0f0 [modules/tmp] format-background = ${colors.black} format-foreground = ${colors.white} ==== police(s) de caractère ==== Si vous ne définissez pas explicitement l'index de police pour une balise, polybar parcourra la liste des polices et choisira la première capable de dessiner le caractère spécifié. Pour en savoir plus sur le formatage et sur les balises vous permettant de définir un index de police spécifique, rendez-vous au [[#formats|chapitre suivant]].\\ NOTE : la propriété ''%%-font%%'' est un index basé sur 1 des polices disponibles, ce qui signifie que ''%%* -font = 1%%'' utilisera ''%%font-0%%''.\\ Lorsque vous utilisez des polices d'icônes (glyphes), vous n'aurez normalement pas à spécifier d'index de police car les autres polices ne contiennent probablement pas le glyphe d'icône. Mais au cas où l'icône n'apparaît pas ou si le résultat semble étrange, vous devez spécifier manuellement la police à utiliser. [bar/example] ; font-N = ; font-0 = "Tamsyn:pixelsize=12;0" font-1 = "Roboto:size=11:weight=bold;2" font-2 = "Noto Sans:size=11;1" [module/example] label-active = %token% ; définir Roboto comme police par défaut pour le module label-active-font = 2 ; Utiliser une police spécifique pour une séquence. ; %{T3} indique à polybar d'utiliser la police Noto Sans et %{T-} restore la police par défaut. label-inactive = %{T3}Inactive%{T-} %time% pour obtenir la liste des polices accessibles sur votre système, utilisez la commande ''%%fc-list%%''. un exemple de résultat pour une police listée : /usr/share/fonts/noto/NotoSansMono-Regular.ttf: Noto Sans Mono:style=Regular pour utiliser cette police, vous devez renseigner son nom de cette façon : font-0 = Noto Sans Mono:style=Regular certaines polices possèdent plusieurs variantes. par exemple 'AwesomeFonts' possède 3 variantes d'après ''%%fc-list | grep -i awesome%%'', que vous devrez toutes renseigner : /usr/share/fonts/TTF/fa-brands-400.ttf: Font Awesome 5 Brands,Font Awesome 5 Brands Regular:style=Regular /usr/share/fonts/TTF/fa-solid-900.ttf: Font Awesome 5 Free,Font Awesome 5 Free Solid:style=Solid /usr/share/fonts/TTF/fa-regular-400.ttf: Font Awesome 5 Free,Font Awesome 5 Free Regular:style=Regular notez que vous pouvez aussi désactiver l'antialiasing directement dans la configuration de polybar : font-0 = "myfont:antialias=false" pour trouver les bons glyhes à afficher, vous pouvez utiliser ''%%guchamarp%%'' ou ''%%font-manager%%''. ==== formatage de la sortie ==== === Format-NAME === La plupart des modules définissent un champ ''%%format-NAME%%'', qui vous permet de configurer le format de sortie du module.\\ Par exemple, le module mpd définit les formats suivants qui seront utilisés en fonction de l'état de la connexion [module/mpd] format-online = ... format-offline = ... Tous les formats peuvent être configurés à l'aide des paramètres suivants : format-NAME = ... ; Les propriétés de préfixe et de suffixe contiennent les ; propriétés qui sont disponibles pour tout ` === Les commandes-token === Les commandes peuvent être utilisées dans de nombreux ''%%label%%'' pour afficher les valeurs dynamiques définies par le module. Par exemple, dans le module interne/date, %time% sera remplacé par la chaîne d'heure formatée. label = %token% ; Définir la largeur minimale de la valeur ; Si la largeur min commence par un '0', la chaîne sera complétée par zéro label = %token:3% ; Définir la largeur maximale de la valeur ; NOTE : la longueur de la commande comprend les suffixes ajoutés en interne (Ko/s,%, etc.) label = %token:0:10% ; Spécifiez le suffixe à utiliser s'il est tronqué à la largeur maximale label = %token:0:10:...% label = %token:0:10:---% === Les 'label' === un 'label' est un simple texte que vous pourrez agrémenter d'un commande label-NAME = foobar ;label-NAME-foreground = #aarrggbb ;label-NAME-background = #aarrggbb ;label-NAME-overline = #aarrggbb ;label-NAME-underline = #aarrggbb ;label-NAME-font = N ; Ajouter un espace de chaque côté du label ; Default: 0 label-NAME-padding = N ; Couper le label s'il dépasse une certaine limite ; Default: 0 label-NAME-maxlen = 30 ; Remplir l'espace libre si le text ne remplit pas l'espace minimum renseigné ; Default: 0 label-NAME-minlen = 10 ; Alignement du text s'il ne remplit pas le label ; Possible Values: left, center, right ; Default: left label-NAME-alignment = center ; Ajouter "..." aux sorties coupées ; Default: true label-NAME-ellipsis = false === Barre de pogression === bar-NAME-format = %fill%%indicator%%empty% bar-NAME-width = 10 bar-NAME-gradient = true bar-NAME-foreground-0 = #00ff00 bar-NAME-foreground-1 = #ff9900 bar-NAME-foreground-2 = #ff0000 ; les secteurs pleins ou vides ainsi que l'indicateur peuvent être configurés ; comme n'importe quel === Les palliers 'ramp' === l'option 'ramp' permet de dessiner des graphiques mais aussi, en spécifiant une même icône, de changer la couleur selon l'état. ramp-NAME-0 = 🔈 ramp-NAME-1 = 🔉 ramp-NAME-2 = 🔊 ramp-NAME-background = #fff ramp-NAME-foreground = #000 ramp-NAME-0 = A ramp-NAME-0-foreground = #f00 ramp-NAME-1 = B ramp-NAME-2 = C === les Actions === Les gestionnaires d'actions sont définis à l'aide de la syntaxe suivante : %{A::}%{A} NOTE : Si la commande contient deux-points ":", vous devez les échapper avec une barre oblique inverse comme ceci: \:. Sinon, le signe deux-points agit comme le délimiteur de commande et polybar analyserait uniquement la commande jusqu'aux deux points. les valeurs pour : * 1: left click * 2: middle click * 3: right click * 4: scroll up * 5: scroll down * 6: double left click * 7: double middle click * 8: double right click exemple d'actions combinées : %{A1:firefox:}%{A1:chromium:}This opens chromium%{A} and this one firefox%{A} === Changer le formatage à l'intérieur d'une séquence === en plus du formatage configuré pour un module complet, vous pouvez spécifier un formatage différent pour chaque partie de la sortie affichée. par exemple : label-volume = %{F#f00}%percentage%%{F-}% notez que les variable ne fonctionnent pas pour le formatage spécifique : vous devez spécifier le formatage 'manuellement' en indiquant la couleur.\\ Voici les modifications possibles dans les sorties polybar : ^format ^exemple ^ |Foreground color %{F} |%{F#f00} red text %{F-} default text | |Background color %{B} |%{B#f00}%{F#000} black text on red background %{B- F-} | |Reverse back-/foreground colors %{R}|black bg, white fg %{R} white bg, black fg | |Underline color %{u} |%{u#ff9900}%{+u} orange underline %{u#0000ff} blue underline %{u-} default underline color %{-u} underline disabled| |Overline color %{o} |%{o#ff9900}%{+o} orange overline %{o#0000ff} blue overline %{o-} default overline color %{-o} overline disabled | |Font %{T} |%{T3} Uses font-2 %{T-} use first (default) font | |Offset %{O} |%{O10} pushed 10 pixels to the right %{O-5} 5 pixels to the left | |Action %{A} |%{A1:command:} clickable text %{A} | ==== configuration de la barre ==== [bar/mybar] ; Utilisez l'une des commandes suivantes pour lister les écrans disponibles : ; S'il n'est pas spécifié, l'application choisira le premier qu'elle trouve. ; $ polybar -m | cut -d ':' -f 1 ; $ xrandr -q | grep " connected" | cut -d ' ' -f1 monitor = ; Utilisez l'écran spécifié comme solution de secours si le moniteur principal est introuvable. monitor-fallback = ; Exiger que le moniteur soit en état "connecté" ; XRandR signale parfois que mon moniteur est déconnecté (lorsqu'il est utilisé) monitor-strict = false ; Utilisez la correspondance pour les moniteurs (ignore uniquement les tirets -) ; Utile lorsque les moniteurs sont nommés différemment avec différents pilotes. monitor-exact = true ; Dites au gestionnaire de fenêtres de ne pas configurer la fenêtre. ; Utilisez ceci pour détacher la barre si votre WM verrouille sa taille/position. ; NOTE : avec cela, la plupart des WM ne réserveront plus d'espace pour ; la barre et il chevauchera d'autres fenêtres. Vous devez configurer ; votre WM pour ajouter un espace où la barre sera placée. override-redirect = false ; Placer polybar au haut de l'écran bottom = false ; Préférez une position centrale fixe pour le bloc 'modules-center'. ; Le bloc central restera au milieu de polybar. Il peut toujours être ; déplacé si d'autres blocs ont besoin plus d'espace. ; Si 'false', le bloc central est centré dans l'espace entre ; les blocs gauche et droit. fixed-center = true ; Dimension définie en pixels (par exemple 35) ou pourcentage (par exemple 50%), ; le pourcentage peut éventuellement être étendu avec un décalage de pixel comme ceci : ; 50%: - 10, cela donnera une largeur ou une hauteur de 50% moins 10 pixels width = height = ; Décalage défini en pixels (par exemple 35) ou pourcentage (par exemple 50%) ; le pourcentage peut éventuellement être étendu avec un décalage de pixel comme ceci : ; 50%: - 10, cela entraînera un décalage dans la direction x ou y ; de 50% moins 10 pixels offset-x = 0 offset-y = 0 ; Couleur d'arrière-plan ARGB (par exemple #f00, #ff992a, #ddff1023) background = #fff ; Couleur de premier plan ARGB (par exemple #f00, #ff992a, #ddff1023) foreground = #000 ; Couleur dégradée d'arrière-plan ARGB (par exemple #f00, #ff992a, #ddff1023) ; background-[0-9]+ = #aarrggbb background-0 = ; Valeur utilisée pour dessiner des coins arrondis ; NOTE: ne pas utiliser avec 'border-size' car la bordure ; ne s’arrondit pas. Pour que cela fonctionne, vous devrez peut-être également activer ; 'pseudo-transparancy' ou utilisez un compositeur comme compton. ; Les valeurs individuelles peuvent être définies en utilisant : ; radius-{haut,bas} ; ou ; radius-{haut,bas}-{gauche,droite} ; Polybar utilise toujours la définition de rayon la plus spécifique pour chaque coin. radius = 0.0 ; Taille en pixels de la bordure inféfieure.supérieure et couleur argb ; Les valeurs individuelles peuvent être définies en utilisant : ; {overline,underline}-size ; {overline,underline}-couleur line-size = 0 line-color = #f00 ; Valeurs appliquées à toutes les bordures ; Les valeurs latérales individuelles peuvent être définies en utilisant : ; border-{gauche,haut,droite,bas}-size ; border-{gauche,haut,droite,bas}-couleur ; Les bordures supérieure et inférieure sont ajoutées à la hauteur de la barre, ; de sorte que la hauteur de la fenêtre est : ; hauteur + border-top-size + border-bottom-size ; Pendant ce temps, la largeur effective de la fenêtre est définie entièrement par la touche de largeur et ; la bordure est placée dans cette zone. Ainsi, vous n'avez effectivement que le ; espace horizontal suivant sur la barre : ; width - border-right-size - border-left-size ; border-size peut être défini comme une valeur de pixel (par exemple 35) ou un pourcentage (par exemple 50%), ; le pourcentage peut éventuellement être étendu avec un décalage de pixel comme ceci : ; 50%: - 10, cela donnera 50% moins 10 pixels. Le pourcentage est relatif ; à la largeur ou à la hauteur du moniteur en fonction de la direction de la bordure. border-size = border-color = ; Nombre d'espaces à ajouter au début/à la fin de la barre ; Les valeurs latérales individuelles peuvent être définies en utilisant : ; padding-{left,right} padding = 0 ; Nombre d'espaces à ajouter avant/après chaque module ; Les valeurs latérales individuelles peuvent être définies en utilisant : ; module-margin-{gauche,droite} module-margin = 0 ; Les polices sont définies selon le format ; ; 'font-name' doit être de la forme fontconfig : ; font-0 = NotoSans-Regular:size=8;2 ; font-1 = MaterialIcons:size=10 ; font-2 = Termsynu:size=8;-1 ; font-3 = FontAwesome:size=10 ; Plus détails dans le chapitre consacré aux polices de caractère font-0 = ; Les modules sont ajoutés à un des trois blocks disponibles (left,center,right) ; modules-left = cpu ram ; modules-center = xwindow xbacklight ; modules-right = ipc clock modules-left = modules-center = modules-right = ; Le séparateur sera inséré entre la sortie de chaque module ; Cela a les mêmes propriétés qe 'label' separator = ; Cette valeur est utilisée pour ajouter un espacement supplémentaire entre les éléments ; @obsolète : ce paramètre sera supprimé dans une prochaine version spacing = 0 ; Valeur d'opacité comprise entre 0.0 et 1.0 ; utilisée pour les fondus entrants / sortants dim-value = 1.0 ; Valeur à utiliser pour définir 'WM_NAME' ; Si la valeur est vide ou indéfinie, la valeur ; sera créé à partir du modèle suivant : polybar-[BAR]_[MONITOR] ; NOTE : les espaces ne sont pas disponibles pour la valeur personnalisée wm-name = ; Paramètres régionaux utilisés pour localiser diverses données des modules (par exemple, date) ; Attend une locale libc valide, par exemple: fr_FR.UTF-8 locale = ; Position de la zone de notification ; Si vide ou non renseigné, la zone de notification sera désactivée ; NOTE : si 'center', la zone couvrira les modules centrés ; positions disponibles : ; left ; center ; right ; none tray-position = ; Si true, polybar ne changera pas son contenu lorsque le systray change tray-detached = false ; Taille maximum des icônes dans la zone de notification tray-maxsize = 16 ; Couleur d'arrière-plan du systray au format ARGB (#f00, #ff992a, #ddff1023) ; par défaut tray-background = bar background tray-background = ${root.background} ; Décalage du systray défini en pixel (par exemple 35) ou pourcentage (par exemple 50%) tray-offset-x = 0 tray-offset-y = 0 ; Espace sur les côtés de chaque icône du systray tray-padding = 0 ; Échelle de grossissement des icônes du systray tray-scale = 1.0 ; Réarrange polybar afin quil ne soit plus pris en charge par le ; gestionnaire de fenêtre et soit placé au-dessus. ; WM's supportés : ; bspwm ; i3 (ajouter : `override-redirect = true`) ; wm-restack = ; Définir une valeur PPP utilisée lors du rendu du texte ; Cela n'affecte que les polices évolutives ; Réglez sur 0 pour laisser polybar calculer le dpi à partir de la taille de l'écran. ; dpi = dpi-x = 96 dpi-y = 96 ; Active le support de l'inter-process messaging IPC ; Voir le chapitre ipc de ce wiki enable-ipc = false ; Gestionnaires de clics de secours qui seront appelés si ; aucun gestionnaire de module correspondant n'a été trouvé. click-left = click-middle = click-right = scroll-up = scroll-down = double-click-left = double-click-middle = double-click-right = ; aspect du pointeur de la souris ; - default : pointeur par défaut (default) ; - pointer : en forme de main ; - ns-resize : en forme deflêche up/down pour indiquer la possibilité de scroller cursor-click = cursor-scroll = ==== configuration du gestionnaire de fenêtres ==== [global/wm] ; Ajuster la valeur supérieure _NET_WM_STRUT_PARTIAL ; Utilisé pour les barres alignées en haut margin-bottom = 0 ; Ajuster la valeur inférieure _NET_WM_STRUT_PARTIAL ; Utilisé pour les barres alignées en bas margin-top = 0 ==== configuration de l'application ==== [settings] ; Les paramètres d'accélérateur permettent à la boucle d'événement d'afficher jusqu'à X événements ; s'ils se produisent dans les Y millisecondes après la réception du premier événement. ; Ceci est fait pour éviter un blocage de mise à jour d'évènements. ; ; Par exemple si 5 modules se mettent à jour en même temps, on se s'occupe ; pas du dernier. Mais si on attend trop longtemps que les événements s'affichent, ; la barre semblerait lente, alors nous continuons si le timeout ; expire ou la limite est atteinte throttle-output = 5 throttle-output-for = 10 ; Recharger lors de la réception des événements XCB_RANDR_SCREEN_CHANGE_NOTIFY screenchange-reload = false ; Outils composite ; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t compositing-background = source compositing-foreground = over compositing-overline = over compositing-underline = over compositing-border = over ; Définir les valeurs de référence utilisées par tous les formats de modules format-foreground = format-background = format-underline = format-overline = format-spacing = format-padding = format-margin = format-offset = ; Active la pseudo-transparence pour la barre ; Si la valeur est true, la barre peut être transparente sans compositeur. pseudo-transparency = false ===== les modules de polybar ===== vous trouverez ici la liste complète des modules disponibles sur polybar. notez que tous ne sont pas utilisés sur nakeDeb, et que ceux utilisés ne sont pas tous activés dans votre configuration car ils doivent être édités avant pour correspondre à votre matériel. ==== alsa ==== Ce module affiche le volume et l'état muet des mixeurs ALSA. La plupart des fonctionnalités du module devraient fonctionner tant que vous utilisez un backend alsa. N'utilisez pas ce module si vous utilisez pulseaudio ! Si vous utilisez pulseaudio, utilisez plutôt le module [interne/pulseaudio], même s'il utilise alsa comme backend. Il existe un certain nombre de problèmes lorsque alsa est utilisé pour contrôler le volume d'un serveur pulseaudio. [module/alsa] type = internal/alsa ; Carte son à utiliser ; Généralement, sous la forme hw:# avec # représentant le numéro de la carte ; Vous pouvez trouver les numéros des cartes dans `/proc/asound/cards` master-soundcard = default speaker-soundcard = default headphone-soundcard = default ; Nom des canaux master, speaker et headphone. ; Utilisez cette commande pour obtenir la liste des mixers disponibles : ; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" ; Si les entrées master, speaker ou headphone-soundcard ne sont pas celles par défaut, ; utilisez `amixer -c # scontrols` à la place avec # correspondant au numéro de la carte du ; master, speaker ou headphone respectivement. ; ; Default: Master master-mixer = Master ; Définition optionnelle des mixers speaker et headphone ; Default: none speaker-mixer = Speaker ; Default: none headphone-mixer = Headphone ; NOTE: ceci est obligatoire si vous utilisez headphone-mixer ; Utilisez cette commande pour obtenir la liste des contrôleurs : ; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort ; Vous devrez aussi utiliser `amixer -c # controls` comme au-dessus pour le nom des mixers ; Default: none headphone-id = 9 ; Utiliser le 'volume mapping' pour un changement de volume linéaire ; Default: false mapped = true ; Intervalle de contrôle du niveau de volume pour increase/decrease (en pourcentage) ; Default: 5 interval = 5 formatage additionnel : ; Sections disponibles: ; (default) ; ; format-volume = ; Sections disponibles : ; (default) ; ; ;format-muted = ; Option disponible : ; %percentage% (default) ;label-volume = %percentage%% ; Option disponible : ; %percentage% (default) label-muted = 🔇 muted label-muted-foreground = #66 ; Seulement si est utilisé ramp-volume-0 = 🔈 ramp-volume-1 = 🔉 ramp-volume-2 = 🔊 ; Si défini, cela va remplacer lorsque ; un casque est branché par `headphone_control_numid` ; Si non défini, sera utilisé pour les deux situations. ; Seulement si est utilisé ramp-headphones-0 =  ramp-headphones-1 =  ==== backlight ==== Ce module affiche les informations de luminosité de l'écran actif. Configuration basique : [module/backlight] type = internal/backlight ; Utilisez cette commande pour obtenir la liste des cartes disponibles : ; $ ls -1 /sys/class/backlight/ card = intel_backlight ; Activer le changement de luminosité avec la molette de la souris ; NOTE: Cela demande un configuration particulière. Polybar devra écrire dans ; le fichier `/sys/class/backlight/${self.card}/brightness` ce qui veut dire ; activer les droits d'écriture sur ce fichier. ; NE PAS LANCER POLYBAR en tant que ROOT. ; La procédure recommandée est d'ajouter l'utilisateur au groupe `video` et ; de donner à ce groupe les droits d'écriture sur le fichier `brightness`. ; Plus d'informations : https://wiki.archlinux.org/index.php/Backlight#ACPI ; Default: false enable-scroll = true formatage additionnel : ; Sections disponibles: ; ==== battery ==== Ce module affiche les informations à propos de la batterie. Configuration basique : [module/battery] type = internal/battery ; Ceci est utile si le pourcentage de la batterie n'atteint jamais les 100% de charge full-at = 99 ; Utilisez cette commande pour lister les batteries et les adaptateurs : ; $ ls -1 /sys/class/power_supply/ battery = BAT0 adapter = ADP1 ; Si un événement inotify n'a pas été signalé depuis longtemps, ; interrogez manuellement les nouvelles valeurs. ; Nécessaire comme solution de secours pour les systèmes qui ne ; signalent pas les événements sur sysfs/procfs. ; Désactivez l'interrogation en définissant l'intervalle sur 0. ; Default: 5 poll-interval = 5 formatage additionnel : ; voir "man date" pour les détails du formatage du temps ; NOTE: si vous désirez utiliser des options système ici, vous devez écrire %%{...} ; Default: %H:%M:%S time-format = %H:%M ; Sections disponibles : ; (default) ; ; ; format-charging = ; Sections disponibles : ; (default) ; ; ; format-discharging = ; Sections disponibles : ; (default) ; ; ;format-full = ; Options disponibles : ; %percentage% (default) - défini à 100 si full-at est atteint ; %percentage_raw% ; %time% ; %consumption% (shows current charge rate in watts) label-charging = Charging %percentage%% ; Options disponibles : ; %percentage% (default) - défini à 100 si full-at est atteint ; %percentage_raw% ; %time% ; %consumption% (shows current discharge rate in watts) label-discharging = Discharging %percentage%% ; Commanes disponibles : ; %percentage% (default) - défini à 100 si full-at est atteint ; %percentage_raw% label-full = Fully charged ; Seulement si est utilisé ramp-capacity-0 =  ramp-capacity-1 =  ramp-capacity-2 =  ramp-capacity-3 =  ramp-capacity-4 =  ; Seulement si est utilisé bar-capacity-width = 10 ; Seulement si est utilisé animation-charging-0 =  animation-charging-1 =  animation-charging-2 =  animation-charging-3 =  animation-charging-4 =  ; Framerate in milliseconds animation-charging-framerate = 750 ; Seulement si est utilisé animation-discharging-0 =  animation-discharging-1 =  animation-discharging-2 =  animation-discharging-3 =  animation-discharging-4 =  ; Framerate in milliseconds animation-discharging-framerate = 500 ==== bspwm ==== n'utilisant pas **bspwm**, je ne peux vérifier/rédiger de documentation à ce sujet. je vous laisse donc entre les pages du [[https://github.com/polybar/polybar/wiki/Module:-bspwm|wiki officiel]]. ==== cpu ==== Ce module affiche des informations à propos de l'utilisation du ou des processeurs Configuration basique : [module/cpu] type = internal/cpu ; Secondes entre chaque mise à jour ; Default: 1 interval = 0.5 formatage additionnel : ; Sections disponibles : ; ==== date ==== Ce module affiche des informations sur la date actuelle.\\ NOTE : ce module prend en charge la plupart (mais pas la totalité) des séquences de formatage qui peuvent être trouvées dans ''%%man date%%''. Par exemple, pour afficher l'heure au format 12 heures, vous pouvez utiliser respectivement ''%%%I:%M%%'' ou ''%%%l:%M%%'' pour une heure remplie de 0 ou une heure avec espace.\\ Le formatage de séquences telles que ''%%%-I%%'' (durée de 12 heures sans remplissage) ne fonctionnera pas. Utilisez un script personnalisé avec la commande ''%%date%%'' comme solution de contournement. Configuration basique : [module/date] type = internal/date ; Secondes avant la mise à jour ; Default: 1.0 interval = 1.0 ; Voir "https://en.cppreference.com/w/cpp/io/manip/put_time" pour les détails du formatage ; NOTE: si vous désirez utiliser des options système ici, vous devez écrire %%{...} date = %Y-%m-%d% ; formatage optionnel de l'heure time = %H:%M ; Si `date-alt` ou `time-alt` est défini, cliquer sur le module ; affichera un format ou l'autre date-alt = %A, %d %B %Y time-alt = %H:%M:%S formatage additionnel : ; Sections disponibles : ; ==== filesystem ==== Ce module affiche les informations à propos des volumes montés. Configuration basique : [module/filesystem] type = internal/fs ; Points de montage à afficher mount-0 = / mount-1 = /home mount-2 = /var ; Secondes entre chaque mise à jour ; Default: 30 interval = 10 ; Affiche les indications précises ; Default: false fixed-values = true ; Espace entre les entrées ; Default: 2 spacing = 4 formatage additionnel : ; Sections disponibles : ; (default) ; ; ; format-mounted = ; Sections dsponibles : ; (default) format-unmounted = ; Options disponibles : ; %mountpoint% ; %type% ; %fsname% ; %percentage_free% ; %percentage_used% ; %total% ; %free% ; %used% ; Default: %mountpoint% %percentage_free%% label-mounted = %mountpoint%: %percentage_free%% of %total% ; Option disponible : ; %mountpoint% ; Default: %mountpoint% is not mounted label-unmounted = %mountpoint%: not mounted label-unmounted-foreground = #55 ==== github ==== je n'ai pas pu tester/vérifier ce module, n'ayant pas de compte github. je vous laisse donc entre les pages du [[https://github.com/polybar/polybar/wiki/Module:-github|wiki officiel]] ==== i3 ==== Ce module permet d'afficher les informations à propos de i3 : espaces de travail et mode actif (normal/resize). Configuration basique : [module/i3] type = internal/i3 ; N'afficher que les espaces de travail de l'écran sur lequel se situe la barre ; Pratique si vous désirez afficher les espaces de façon différentes selon l'écran ; Default: false pin-workspaces = true ; Ceci va séparer le nom de l'espace de travail à partir de ':' ; Default: false strip-wsnumbers = true ; Trier les espaces par index et non par écran. ; Default: false index-sort = true ; Activer la navigation au clic sur les espaces de travail ; Default: true enable-click = false ; Activer la navigation à la molette sur les espaces de travail ; Default: true enable-scroll = false ; Revenir au premier espace lorsqu'on a atteint le dernier et inversement ; Default: true wrapping-scroll = false ; Définir le sens de navigation à la molette ; Default: true reverse-scroll = false ; Utiliser une correspondance (partielle) sur les étiquettes lors de ; l'attribution des icônes aux espaces de travail ; Exemple : code;♚ appliquera l'icône à tous les espaces de travail ; contenant 'code' dans l'étiquette ; Default: false fuzzy-match = true formatage additionnel : ; ws-icon-[0-9]+ = ==== ipc ==== Ce module vous permet de définir les hooks à déclencher lors de la réception d'un message ipc correspondant. Le hook exécutera sa commande shell définie et la sortie de celle-ci sera affichée comme contenu du module.\\ Le nom du hook sera le nom du module plus le numéro du hook en partant de 1, par exemple: module/ipc1. La commande à utiliser pour l'envoi d'un message ipc serait ''%%hook:module/ipc1%%'', par exemple: $ echo hook:module/ipc1 >>/tmp/polybar_mqueue.* # ou depuis l'outil ipc intégré $ polybar-msg [-p pid] hook ipc 1 NOTE: Demande l'activation du module ipc dans la barre ''%%enable-ipc = true%%'' Configuration basique : [module/subscriber] type = custom/ipc ; Définir les commandes à éxecuter lors de la réception d'un signal ipc ; Sections disponibles : ; %pid% (id of the parent polybar process) hook-0 = date hook-1 = whoami hook-2 = echo "Files in ${HOME}: $(ls -1a ~ | wc -l)" ; Hook à lancer au démarrage de la barre. La numérotation démarre à 1. ; dans l'exemple, (2) `whoami` sera exécuté au lancement ; Si 0 est spécifié, aucun hook ne sera lancé au démarrage ; Default: 0 initial = 2 formatage additionnel : ; Sections disponibles : ; (default) format = format-foreground = #f00 format-background = #fff ; Actions de la souris ; Options disponibles : ; %pid% (id of the parent polybar process) click-left = click-middle = click-right = scroll-up = scroll-down = double-click-left = double-click-right = Exemple : [module/demo] type = custom/ipc hook-0 = echo foobar hook-1 = date +%s hook-2 = whoami initial = 1 click-left = polybar-msg -p %pid% hook demo 1 click-right = polybar-msg -p %pid% hook demo 2 double-click-left = polybar-msg -p %pid% hook demo 3 ==== memory ==== Ce module affiche les informations à propos de l'utilisation de la mémoire Configuration basique : [module/memory] type = internal/memory ; Secondes entre chaque mise à jour ; Default: 1 interval = 3 formatage additionnel : ; Sections disponibles : ; ==== menu ==== Ce module vous permet de créer un menu personnalisé en utilisant la fonction ipc Configuration basique : [module/menu-apps] type = custom/menu ; Si true, sera à la gauche des éléments de menu (default). ; Si false, il sera à la droite des éléments de menu. expand-right = true ; "menu-LEVEL-N" a les mêmes propriétés que "label-NAME" ; avec, en plus, la fonction "exec" ; 'Command' sera exécuté par "/bin/sh -c $COMMAND" menu-0-0 = Navigateurs menu-0-0-exec = #menu-apps.open.1 menu-0-1 = Multimedia menu-0-1-exec = #menu-apps.open.2 menu-1-0 = Firefox menu-1-0-exec = firefox menu-1-1 = Chromium menu-1-1-exec = chromium menu-2-0 = Gimp menu-2-0-exec = gimp menu-2-1 = Scrot menu-2-1-exec = scrot formatage additionnel : ; Sections disponibles : ; (default) - peut être remplacé par ; (default) ; Si 'expand-right' = true, la disposition par défaut sera "" ; et inversement. ; Si vous utilisez , vous devez aussi inclure ; une definition pour ; format = label-open = Apps label-close = x ; Optional item separator ; Default: none label-separator = | ==== mpd ==== Ce module affiche les informations relatives au lecteur MPD. rien ne sera affiché si la liste de lecture courante est vide. Configuration basique : [module/mpd] type = internal/mpd ; Hôte pour mpd (soit une ip ou un nom de domaine) ; Peut aussi être l'aresse complète du socket unix mpd. host = 127.0.0.1 port = 6600 password = mysecretpassword ; Secondes entre chaque mise à jour ; Default: 1 interval = 2 formatage additionnel : ; Sections disponibles : ; (default) ; ; ; - peut être remplacé par ; - paut être remplacé par ; ; ; (obsolète) ; - play/pause sur un seul titre, remplace ; ; ; ; ; ; ; ; format-online = ;format-playing = ${self.format-online} ;format-paused = ${self.format-online} ;format-stopped = ${self.format-online} ; Sections disponibles : ; ; Default: "" ;format-offline = ; Options disponibles : ; %artist% ; %album-artist% ; %album% ; %date% ; %title% ; Default: %artist% - %title% label-song = 𝄞 %artist% - %title% ; Options disponibles : ; %elapsed% ; %total% ; Default: %elapsed% / %total% ;label-time = %elapsed% / %total% ; Option disponible : ; None label-offline = 🎜 mpd is offline ; Seulement si est utilisé icon-play = ⏵ icon-pause = ⏸ icon-stop = ⏹ icon-prev = ⏮ icon-next = ⏭ icon-seekb = ⏪ icon-seekf = ⏩ icon-random = 🔀 icon-repeat = 🔁 icon-repeatone = 🔂 icon-single = 🔂 icon-consume = ✀ ; Utilisé pour afficher l'état de random/repeat/repeatone/single ; Seulement si est utilisé toggle-on-foreground = #ff toggle-off-foreground = #55 ; Seulement si est utilisé bar-progress-width = 45 bar-progress-indicator = | bar-progress-fill = ─ bar-progress-empty = ─ ==== network ==== Ce module affiche des informations à propos de l'interface réseau spécifiée.\\ si vous utilisez deux interfaces, il faudra éditer deux modules. par exemple : [module/wired-network] type = internal/network interface = eth1 [module/wireless-network] type = internal/network interface = wlan1 Configuration basique : [module/network] type = internal/network ; Nom de l'interface réseau à afficher. Vous pouvez obtenir la liste avec `ip link` ; Les interfaces sans fil commencent souvent par `wl` tandis que les interfaces filaires ; commencent souvent par `eno`, `eth` ou `enp` interface = wlan1 ; Secondes entre chaque mise à jour ; Default: 1 interval = 3.0 ; Tester la connectivité chaque Nième mise à jour ; '0' désactive cette option ; NOTE: Expérimental (nécessite encore des tests) ; Default: 0 ;ping-interval = 3 ; Cumuler les valeurs des toutes les interfaces pour ; le calcul d'envoi et de réception 'up/downspeed' ; Default: false accumulate-stats = true ; Considérer une interface `UNKNOWN` comme en ligne. ; Certains adaptateur sans fil USB affichent un état inconnu. ; Default: false unknown-as-up = true formatage additionnel : ; Sections disponibles : ; (default) ; format-connected = ; Option disponible : ; (default) format-disconnected = ; Sections disponibles : ; (default) ; ; format-packetloss = ; Options disponibles selon le type d'interface : ; %ifname% [wireless+wired] ; %local_ip% [wireless+wired] ; %local_ip6% [wireless+wired] ; %essid% [wireless] ; %signal% [wireless] ; %upspeed% [wireless+wired] ; %downspeed% [wireless+wired] ; %linkspeed% [wired] ; Default: %ifname% %local_ip% label-connected = %essid% %downspeed:9% label-connected-foreground = #eefafafa ; Default: (none) label-disconnected = not connected label-disconnected-foreground = #66ffffff ; Default: (none) ;label-packetloss = %essid% ;label-packetloss-foreground = #eefafafa ; Seulement si est utilisé ramp-signal-0 = 😱 ramp-signal-1 = 😠 ramp-signal-2 = 😒 ramp-signal-3 = 😊 ramp-signal-4 = 😃 ramp-signal-5 = 😈 ; Seulement si est utilisé animation-packetloss-0 = ⚠ animation-packetloss-0-foreground = #ffa64c animation-packetloss-1 = 📶 animation-packetloss-1-foreground = #000000 ; Framerate in milliseconds animation-packetloss-framerate = 500 ==== pulseaudio ==== Ce module affiche le volume et l'état muet de Pulseaudio. Il utilise le récepteur spécifié dans la configuration s'il est disponible, et utilise le récepteur par défaut s'il n'est pas disponible ou défini. Configuration basique : [module/pulseaudio] type = internal/pulseaudio ; Récepteur à utiliser, s'il existe. utilisez la commande `pacmd list-sinks`, ; puis recherchez le champ "name". sink = alsa_output.pci-0000_12_00.3.analog-stereo ; Utilise PA_VOLUME_UI_MAX (~153%) si true, ou PA_VOLUME_NORM (100%) si false ; Default: true use-ui-max = true ; Intervalle de modification pour le volume (en pourcentage) ; Default: 5 interval = 5 formatage additionnel : ; Sections disponibles : ; (default) ; ; format-volume = ; Sections disponibles : ; (default) ; ; ;format-muted = ; Options disponibles : ; %percentage% (default) ; %decibels% ;label-volume = %percentage%% ; Options disponibles : ; %percentage% (default) ; %decibels% label-muted = 🔇 muted label-muted-foreground = #666 ; Seulement si est utilisé ramp-volume-0 = 🔈 ramp-volume-1 = 🔉 ramp-volume-2 = 🔊 ; clic-droit et clic-central click-right = pavucontrol ; click-middle = ==== script ==== Ce module exécute le script défini et affiche sa sortie. Vous pouvez trouver des modules de script issus de la communauté dans le [[https://github.com/polybar/polybar-scripts|dépôt polybar-scripts]]. NOTE : Le module attendra la fin du d'exécution du script pour mettre à jour son contenu. Si vous lancez une application, assurez-vous de l'envoyer en arrière-plan en ajoutant "&" après la ligne qui exécute l'application. Il en va de même pour les commandes click- *.\\ Si votre script utilise une boucle infinie en combinaison avec ''%%tail = true%%'', la condition ''%%exec-if%%'' n'est vérifiée que jusqu'à ce qu'elle soit évaluée à 'true' pour la première fois, car elle n'est vérifiée qu'avant d'exécuter la commande 'exec'. et puisque la commande exec ne retourne jamais (à cause de la boucle infinie), 'exec-if' n'est plus jamais évalué une fois que la commande exec est en cours d'exécution. Donc, si la condition 'exec-if' à un moment donné, pendant que la boucle infinie est en cours d'exécution, est évaluée à false, le script ne s'arrêtera pas soudainement de fonctionner et le module ne disparaîtra pas.\\ Si vous voulez que votre module disparaisse de la barre dans certains cas, votre sortie doit être créée avec ''%%echo ""%%'' Sinon, une sortie obsolète sera affichée sur la barre. Configuration basique : [module/pkgupdates-available] type = custom/script ; Sections disponibles : ; %counter% ; Commanda à exécuter (utilisera "/bin/sh -c [command]") exec = checkforupdates ; Commande conditionnelle. si définie, la commande principale 'exec' sera lancée ; une fois que 'exec-if' sera positif. ; Default: "" exec-if = pgrep -x myservice ; Le script retourne un contenu continu ? ; Default: false tail = true ; Secondes entre chaque mise à jour ; Default: 5 (0 if `tail = true`) interval = 90 formatage additionnel : ; Sections disponibles : ; - obsolète ; Exemples : Vous pouvez utiliser 'exec-if' pour afficher 'output' seulement lorsque la condition est complétée : [module/vpn] type = custom/script exec = echo vpn exec-if = pgrep -x openvpn interval = 5 format-underline = #268bd2 format-prefix = "🖧 " format-prefix-foreground = #5b Le %pid% peut être utilisé pour envoyer des signaux au script, autorisant plusieurs états. Voici un exemple de script de date avec deux états: [module/date] type = custom/script exec = /path/to/date.sh tail = true click-left = kill -USR1 %pid% NOTE : %pid% fait en fait référence au processus sh qui exécute la commande exec. Le shell relaie généralement les signaux à la commande exec. Cependant, si la commande s'exécute en arrière-plan, ce ne sera pas le cas. Dans ces cas, vous pouvez utiliser ''%%pgrep%%'' pour trouver l'enfant le plus âgé appartenant à %pid% et envoyer le signal à ce pid (enfant) : click-left = "kill -USR1 $(pgrep --oldest --parent %pid%)" le script date.sh mentionné plus haut : t=0 toggle() { t=$(((t + 1) % 2)) } trap "toggle" USR1 while true; do if [ $t -eq 0 ]; then date else date --rfc-3339=seconds fi sleep 1 & wait done ==== temperature ==== Ce module affiche les informations relatives à la température de la machine Configuration basique : [module/temperature] type = internal/temperature ; Secondes entre chaque mise à jour ; Default: 1 interval = 0.5 ; Zone thermale à utiliser ; Pour lister les zones disponibles, utilisez cette commande : ; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done ; Default: 0 thermal-zone = 0 ; Adresse complète des températures système ; Utilisez 'sensors' pour trouver vos sources puis pour définir l'adresse exacte du fichier à consulter : ; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done ; 'Default' retourne à la variable 'thermal-zone' hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input ; Température basse à partir de laquelle commencer le 'ramp' (en degrés celsius) ; Default: 0 base-temperature = 20 ; Température à partir de laquelle afficher un 'warning' (en degrés celsius) ; Default: 80 warn-temperature = 60 formatage additionnel : ; Afficher ou non l'unité de mesure des températures (°C, °F) ; Default: true units = false ; Sections disponibles: ; ==== text ==== Ce module affiche le contenu texte défini. ce contenu est cliquable. Configuration basique : [module/my-text-label] type = custom/text content = Some random label formatage additionnel : ; "content" a les mêmes propriétés que "format-NAME" content-background = #000 content-foreground = #fff content-padding = 4 ; "click-(left|middle|right)" sera exécuté via "/bin/sh -c $COMMAND" click-left = notify-send left click-middle = notify-send middle click-right = notify-send right ; "scroll-(up|down)" sera exécuté via "/bin/sh -c $COMMAND" scroll-up = notify-send scroll up scroll-down = notify-send scroll down ==== xbacklight ==== Ce module affiche les informations relatives à la luminosité de votre écran NOTE : si ce module ne fonctionne pas pour vous, utilisez le module [[#backlight|backlight]]. Configuration basique : [module/backlight] type = internal/xbacklight ; Sortie XRandR d'où viennent les informations ; Default: l'écran défini pour la barre output = HDMI-1 ; Activer le réglage avec la molette de la souris ; Default: true enable-scroll = false formatage additionnel : ; Sections disponibles : ; ==== xkeyboard ==== Ce module montre la disposition actuelle et les indicateurs actifs.\\ S'il y a plus d'une disposition configurée pour le clavier, un gestionnaire de clics sera attaché au module qui fera défiler ceux trouvés. Configuration basique : [module/xkeyboard] type = internal/xkeyboard ; List des indicateurs à ignorer blacklist-0 = num lock blacklist-1 = scroll lock formatage additionnel : ; Sections disponibles : ; (default) ; (default) format = format-spacing = 0 ; Options disponibles : ; %layout% ; %name% ; %number% ; %icon% ; %variant% (unreleased) ; Default: %layout% label-layout = %name% label-layout-padding = 2 label-layout-background = #bc99ed label-layout-foreground = #000 ; Option disponible : ; %name% ; Default: %name% ; obsolète, utilisez 'label-indicator-on' label-indicator = %name% ; layout-icon-[0-9]+ = layout;icon ; Assigner une icône à chaque disposition. elle sera disponible sous %icon% pour le ; . La partie juste avant ';' essaiera de correspondre au %layout%. layout-icon-default = some-icon layout-icon-0 = ch;C layout-icon-1 = us;U ; indicator-icon-[0-9]+ = indicator;off icon;on icon ; Affiche le contenu de %icon% dans label-indicator-* indicator-icon-default = indicator-icon-0 = caps lock;-CL;+CL indicator-icon-1 = scroll lock;;+SL indicator-icon-2 = num lock;-NL;+NL ; Remplacer 'label-indicator' ; Options disponibles : ; %name% ; %icon% ; Default: %name% label-indicator-on = +%name% ; Options disponibles : ; %name% ; %icon% ; Default: (none) label-indicator-off = -%name% ; Remplacer 'label-indicator-*' pour un indicateur spécifique ; Options disponibles : ; %name% ; %icon% label-indicator-on-capslock = label-indicator-off-capslock = label-indicator-on-numlock = label-indicator-off-numlock = label-indicator-on-scrolllock = label-indicator-off-scrolllock = ==== xwindow ==== Ce module affiche des informations relatives à la fenêtre active Configuration basique : [module/title] type = internal/xwindow formatage additionnel : ; Sections disponibles: ; ==== xworkspaces ==== ! Ce module est toujours en développement ! Ce module affiche les bureaux des gestionnaires de fenêtres compatibles EWMH Configuration basique : [module/ewmh] type = internal/xworkspaces ; N'afficher que les bureaux qui sont sur le même écran que la barre ; Pratique si vous désirez afficher le bureau de façon différente selon l'écran. ; ; Default: false pin-workspaces = true ; Activer la navigation lors d'un clic sur le bureau ; Default: true enable-click = false ; Activer la navigation avec la molette de la souris sur les bureaux ; Default: true enable-scroll = false formatage additionnel : ; icon-[0-9]+ = ; ; NOTE: Le nom du bureau doit correspondre au nom défini par le gestionnaire de fenêtre ; Vous pouvez obtenir la liste des bureaux avec la commande : ; $ xprop -root _NET_DESKTOP_NAMES ; Note : Ni ni ne doivent contenir ';' icon-0 = code;♚ icon-1 = office;♛ icon-2 = graphics;♜ icon-3 = mail;♝ icon-4 = web;♞ icon-default = ♟ ; Sections disponibles : ; ; - peut être remplacé par ; Default: format = ; Option disponible: ; %name% ; Default: %name% label-monitor = %name% ; Options disponibles : ; %name% ; %icon% ; %index% ; Default: %icon% %name% label-active = %icon% %name% label-active-foreground = #ffffff label-active-background = #3f3f3f label-active-underline = #fba922 label-active-padding = 4 ; Options disponibles : ; %name% ; %icon% ; %index% ; Default: %icon% %name% label-occupied = %icon% label-occupied-underline = #555555 ; Options disponibles : ; %name% ; %icon% ; %index% ; Default: %icon% %name% label-urgent = %icon% label-urgent-foreground = #000000 label-urgent-background = #bd2c40 label-urgent-underline = #9b0a20 label-urgent-padding = 4 ; Options disponibles : ; %name% ; %icon% ; %index% ; Default: %icon% %name% label-empty = %icon% label-empty-foreground = #55 label-empty-padding = 2 ==== Modules issus de la communauté ==== [[https://github.com/x70b1|@x70b1]] a commencé à maintenir un dépôt pour réunir les scripts de la communauté : [[https://github.com/polybar/polybar-scripts|polybar-scripts]].\\ Vous y trouverez une série de scripts en Shell, Python ou Perl.\\ Vous pouvez aussi consulter le site [[https://github.com/TiagoDanin/Awesome-Polybar|Awesome Polybar]] pour encore plus de scripts.