dotfiles/.config/waybar/config.cgt

59 lines
2.4 KiB
Fennel

;<! tmpl:setPostProcessor(opt.fennelToJSON) !>
;; vim: ft=fennel
{:spacing 4
:layer :top
;<! if opt.wayland_compositor == "river" then !>
:modules-left [:river/tags :river/window]
;<! elseif opt.wayland_compositor == "hyprland" then !>
:modules-left [:hyprland/workspaces :hyprland/window]
;<! end !>
:modules-right [:mpris
:cpu
:memory
:pulseaudio
:gamemode
:temperature
:battery
:clock
:tray]
:mpris {:format "{status_icon} {dynamic}"
:dynamic-order [:title :artist :position :length]
:dynamic-importance-order [:position :length :artist :album]
:status-icons {:playing "󰏤" :paused "󰐊" :stopped "󰓛"}
:dynamic-len 50
:dynamic-separators " 󱓜 "}
:gamemode {:format "{glyph} {count}"}
:tray {:spacing 10}
:clock {:tooltip-format "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
:format-alt "{:%Y-%m-%d}"}
:cpu {:format "{usage}% "}
:memory {:format "{}% "}
:temperature {:hwmon-path "<% opt.cpu_temp_hwmon %>"
:critical-threshold 80
:format "{temperatureC}°C {icon}"
:format-icons ["" "" ""]}
:battery {:states {:warning 50 :critical 20}
:format "{capacity}% {icon}"
:format-charging "{capacity}% 󰂄"
:format-plugged "{capacity}% "
:format-alt "{time} {icon}"
:format-icons ["" "" "" "" ""]}
:pulseaudio (let [fstring (fn [muted bluetooth]
(.. (if muted "󰝟" "{volume}%")
(if (and muted (not bluetooth)) "" " {icon}")
(if bluetooth "" "") " {format_source}"))]
{:format (fstring false false)
:format-muted (fstring true false)
:format-bluetooth (fstring false true)
:format-bluetooth-muted (fstring true true)
:format-source "{volume}% "
:format-source-muted ""
:format-icons {:headphone ""
:hands-free ""
:headset ""
:phone ""
:portable ""
:car ""
:default ["" "" ""]}
:on-click :pavucontrol})}