2023-09-02 14:02:00 +02:00
|
|
|
;<! tmpl:setPostProcessor(opt.fennelToJSON) !>
|
|
|
|
;; vim: ft=fennel
|
2024-06-17 21:17:17 +02:00
|
|
|
(local format-icons ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"])
|
|
|
|
|
2023-09-02 14:02:00 +02:00
|
|
|
{: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
|
2024-06-17 21:17:17 +02:00
|
|
|
:cava
|
2023-09-02 14:02:00 +02:00
|
|
|
:cpu
|
|
|
|
:memory
|
|
|
|
:pulseaudio
|
|
|
|
:gamemode
|
|
|
|
:temperature
|
|
|
|
:battery
|
|
|
|
:clock
|
|
|
|
:tray]
|
2024-06-17 21:17:17 +02:00
|
|
|
:cava {:hide_on_silence true
|
|
|
|
:bars 16
|
|
|
|
:bar_delimiter 0
|
|
|
|
:method :pipewire
|
|
|
|
: format-icons}
|
2023-09-02 14:02:00 +02:00
|
|
|
:mpris {:format "{status_icon} {dynamic}"
|
2024-05-08 23:09:29 +02:00
|
|
|
:interval 5
|
2023-09-02 14:02:00 +02:00
|
|
|
:dynamic-order [:title :artist :position :length]
|
2024-03-19 18:00:47 +01:00
|
|
|
:dynamic-importance-order [:position :length :artist :album]
|
2023-09-02 14:02:00 +02:00
|
|
|
: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}"}
|
2024-04-22 12:08:09 +02:00
|
|
|
:cpu {:format (.. (faccumulate [s "" i 0 (- (cg.opt.system :nproc) 1)]
|
|
|
|
(.. s "{icon" i "}")) " {usage}% ")
|
2024-06-17 21:17:17 +02:00
|
|
|
:interval 2
|
|
|
|
: format-icons}
|
2023-09-02 14:02:00 +02:00
|
|
|
: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})}
|