{ // ── violet-chaton Waybar — island floating 3 pills ────────────────────── // LEFT : launcher | cpu + temp | gpu | ram | disk | network // CENTER : cava | clock | date | mpris // RIGHT : wireplumber | backlight | bluetooth | idle_inhibitor | // battery | power-profile | keyboard-state | // systemd-failed | uptime | tray // ──────────────────────────────────────────────────────────────────────── "layer": "top", "position": "top", "height": 60, "margin-top": 0, "margin-left": 16, "margin-right": 16, "spacing": 0, "exclusive": true, "modules-left": [ "custom/launcher", "custom/sep", "cpu", "temperature", "custom/gpu", "memory", "disk", "custom/sep", "custom/network" ], "modules-center": [ "custom/cava", "clock", "custom/date", "mpris" ], "modules-right": [ "wireplumber", "backlight", "bluetooth", "custom/sep", "idle_inhibitor", "custom/sep", "battery", "custom/power-profile", "custom/sep", "custom/uptime", "tray", "custom/power" ], // ── Launcher ──────────────────────────────────────────────────────────── "custom/launcher": { "format": "󰊠", "tooltip": false, "on-click": "~/.config/waybar/scripts/rofi-launcher.sh" }, // ── Séparateur ────────────────────────────────────────────────────────── "custom/sep": { "format": "|", "tooltip": false }, // ── CPU ───────────────────────────────────────────────────────────────── "cpu": { "format": " {usage}%", "tooltip-format": "Intel i5-12450H\n {usage}% @ {avg_frequency} GHz\n\nT00 {usage0}% T01 {usage1}% T02 {usage2}% T03 {usage3}%\nT04 {usage4}% T05 {usage5}% T06 {usage6}% T07 {usage7}%\nT08 {usage8}% T09 {usage9}% T10 {usage10}% T11 {usage11}%", "states": { "warning": 70, "critical": 90 }, "interval": 2 }, // ── Température ───────────────────────────────────────────────────────── "temperature": { "thermal-zone": 9, "format": " {temperatureC}°", "format-critical": " {temperatureC}°", "critical-threshold": 80, "tooltip": false, "interval": 2 }, // ── GPU ───────────────────────────────────────────────────────────────── "custom/gpu": { "exec": "~/.config/waybar/scripts/gpu.sh", "return-type": "json", "interval": 2, "format": "{}" }, // ── RAM ───────────────────────────────────────────────────────────────── "memory": { "format": " {used:0.1f}G", "tooltip-format": " RAM\n{used:0.1f} GiB / {total:0.1f} GiB\n{percentage}% utilisé", "states": { "warning": 75, "critical": 90 }, "interval": 2 }, // ── Disque ────────────────────────────────────────────────────────────── "disk": { "format": "󰋊 {used}", "tooltip-format": "󰋊 Disque /\n{used} / {total}\n{percentage_used}% utilisé", "interval": 30 }, // ── Réseau ────────────────────────────────────────────────────────────── "custom/network": { "exec": "~/.config/waybar/scripts/network.sh", "return-type": "json", "interval": 2, "format": "{}" }, // ── CAVA ──────────────────────────────────────────────────────────────── "custom/cava": { "exec": "~/.config/waybar/scripts/cava-read.sh", "return-type": "json", "interval": 1, "format": "{}", "tooltip": false }, // ── Horloge ───────────────────────────────────────────────────────────── "clock": { "format": " {:%H:%M}", "format-alt": " {:%H:%M:%S}", "tooltip-format": "{:%B %Y}\n{calendar}", "calendar": { "mode": "month", "on-scroll": 1, "format": { "months": "{}", "days": "{}", "weeks": "W{}", "weekdays": "{}", "today": "{}" } }, "interval": 1 }, // ── Date ──────────────────────────────────────────────────────────────── "custom/date": { "exec": "LC_ALL=fr_FR.UTF-8 date '+%a %d %b' | awk '{print toupper(substr($0,1,1)) substr($0,2)}'", "interval": 60, "tooltip": false }, // ── MPRIS ─────────────────────────────────────────────────────────────── "mpris": { "format": "{player_icon} {dynamic}", "format-paused": "{player_icon} {dynamic}", "player-icons": { "default": "󰎈", "spotify": "󰓇", "firefox": "󰈹", "chromium": "󰊯", "vlc": "󰕼" }, "status-icons": { "paused": "󰏤", "playing": "󰐊", "stopped": "󰐊" }, "dynamic-len": 30, "ignored-players": ["firefox"], "tooltip-format": "{player} — {title}\n{artist}\n{album}" }, // ── Volume (wireplumber) ───────────────────────────────────────────────── "wireplumber": { "format": "{icon} {volume}%", "format-muted": "󰖁 {volume}%", "format-icons": ["󰕿", "󰖀", "󰕾"], "on-click": "python3 ~/.config/waybar/scripts/vc-media-popup.py", "on-click-right": "~/.config/waybar/scripts/wob-volume.sh mute", "on-scroll-up": "~/.config/waybar/scripts/wob-volume.sh up", "on-scroll-down": "~/.config/waybar/scripts/wob-volume.sh down", "tooltip-format": "󰕾 Volume : {volume}%\n{node_name}" }, // ── Luminosité ────────────────────────────────────────────────────────── "backlight": { "format": "{icon} {percent}%", "format-icons": ["󰃞", "󰃟", "󰃠"], "tooltip": false, "on-click": "python3 ~/.config/waybar/scripts/vc-media-popup.py", "on-scroll-up": "~/.config/waybar/scripts/wob-brightness.sh up", "on-scroll-down": "~/.config/waybar/scripts/wob-brightness.sh down" }, // ── Bluetooth ─────────────────────────────────────────────────────────── "bluetooth": { "format": "󰂯", "format-disabled": "󰂲", "format-connected": "󰂱 {device_alias}", "tooltip-format": "{controller_alias} — {controller_address}\n{num_connections} connecté(s)", "tooltip-format-connected": "{controller_alias}\n{device_enumerate}", "tooltip-format-enumerate-connected": " {device_alias} ({device_address})" }, // ── Idle inhibitor ────────────────────────────────────────────────────── "idle_inhibitor": { "format": "{icon}", "format-icons": { "activated": "󰅶", "deactivated": "󰾪" }, "tooltip-format-activated": "Veille désactivée", "tooltip-format-deactivated": "Veille active" }, // ── Batterie ──────────────────────────────────────────────────────────── "battery": { "bat": "BAT1", "states": { "full": 95, "good": 80, "warning": 30, "critical": 15 }, "format": "{icon} {capacity}%", "format-charging": "󱐋 {capacity}%", "format-plugged": "󰚥 {capacity}%", "format-full": "󰁹 {capacity}%", "format-icons": ["󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"], "tooltip-format": "Batterie : {capacity}%\n{timeTo}\nCycles estimés", "interval": 30 }, // ── Profil énergie ────────────────────────────────────────────────────── "custom/power-profile": { "exec": "~/.config/waybar/scripts/power-profile.sh", "return-type": "json", "interval": 5, "signal": 8, "on-click": "~/.config/waybar/scripts/power-profile.sh --toggle" }, // ── Clavier ───────────────────────────────────────────────────────────── "keyboard-state": { "numlock": true, "capslock": true, "format": { "numlock": "{icon}", "capslock": "{icon}" }, "format-icons": { "locked": "", "unlocked": "" } }, // ── Systemd failed ────────────────────────────────────────────────────── "systemd-failed-units": { "format": "󰚌 {nr_failed}", "format-ok": "", "hide-on-ok": true, "system": true, "user": true }, // ── Uptime ────────────────────────────────────────────────────────────── "custom/uptime": { "exec": "awk '{s=$1; d=int(s/86400); h=int((s%86400)/3600); m=int((s%3600)/60); if(d>0) printf \"󰅐 %dj %dh\",d,h; else if(h>0) printf \"󰅐 %dh %dm\",h,m; else printf \"󰅐 %dm\",m}' /proc/uptime", "interval": 60, "tooltip": false }, // ── Tray ──────────────────────────────────────────────────────────────── "tray": { "spacing": 8, "icon-size": 16 }, // ── Bouton power ──────────────────────────────────────────────────────── "custom/power": { "format": "󰐥", "tooltip": false, "on-click": "~/.config/waybar/scripts/power-menu.sh" } }