eww/examples/eww-bar/eww.yuck
2021-08-17 12:02:29 +02:00

57 lines
1.6 KiB
Text

(defwidget bar []
(centerbox :orientation "h"
(workspaces)
(music)
(sidestuff)))
(defwidget sidestuff []
(box :class "sidestuff" :orientation "h" :space-evenly false :halign "end"
(slider-vol)
(slider-ram)
time))
(defwidget workspaces []
(box :class "workspaces"
:orientation "h"
:space-evenly true
:halign "start"
:spacing 10
(button :onclick "wmctrl -s 0" 1)
(button :onclick "wmctrl -s 1" 2)
(button :onclick "wmctrl -s 2" 3)
(button :onclick "wmctrl -s 3" 4)
(button :onclick "wmctrl -s 4" 5)
(button :onclick "wmctrl -s 5" 6)
(button :onclick "wmctrl -s 6" 7)
(button :onclick "wmctrl -s 7" 8)
(button :onclick "wmctrl -s 8" 9)))
(defwidget music []
(box :class "music" :orientation "h" :space-evenly false :halign "center"
'🎵${music}'))
(defwidget slider-vol []
(box :class "slider-vol" :orientation "h" :space-evenly "false"
(box :class "label-vol" "🔊"
(scale :min 0 :max 101 :value volume :onchange "amixer -D pulse sset Master {}%"))))
(defwidget slider-ram []
(box :orientation "h" :class "slider-ram" :space-evenly false
(box :class "label-ram" ""
(scale :min 0 :max 101 :active false :value EWW_RAM))))
(defpoll music :interval "5s" "playerctl metadata --format '{{ artist }} - {{ title }}' || true")
(defpoll volume :interval "1s" "scripts/getvol")
(defpoll time :interval "10s" "date '+%H:%M %b %d, %Y'")
(defwindow bar
:monitor 0
:windowtype "dock"
:geometry (geometry :x "0%" :y "0%" :width "100%" :height "4%")
:reserve (struts :side "top" :distance "4%")
(bar))