(defwidget bar0 [] (box :class "bar" (centerbox :orientation "h" (workspaces0) (clock) (sidestuff))) ) (defwidget bar1 [] (box :class "bar" (centerbox :orientation "h" (workspaces1) (clock) (sidestuff))) ) (defwidget sidestuff [] (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" (updates) (scratchpad-indicator) (language) (idleinhibit) (bright) (audio) (net) (battery) )) (deflisten workspace0 "scripts/workspace.sh 0") (defwidget workspaces0 [] (literal :content workspace0)) (deflisten workspace1 "scripts/workspace.sh 1") (defwidget workspaces1 [] (literal :content workspace1)) (defwidget language [] (box :class "language" :orientation "h" :space-evenly false :halign "end" :spacing 10 (button :class "" :onclick "scripts/keyboardlayout.sh toggle" language) )) (defwidget clock [] (box :class "clock" :orientation "h" :space-evenly false :halign "center" (button :class "" :onclick "scripts/calendar.sh show" date-time) (label :unindent false :text " - ") (label :text time_poll) )) (defwidget audio [] (box :class "audio" :orientation "h" :space-evenly false :halign "end" :spacing 10 (button :class "" :onclick "scripts/volumecontrol down" :onmiddleclick "scripts/volumecontrol mute" :onrightclick "scripts/volumecontrol up" volume) )) (defwidget bright [] (box :class "brightness" :orientation "h" :space-evenly false :halign "end" :spacing 10 (button :class "" :onclick "scripts/brightnesscontrol down" :onrightclick "scripts/brightnesscontrol up" brightness) )) (defwidget updates [] (box :class "${matches(chimera-updates, '^\s*$')?'apk-empty':'apk'}" :orientation "h" :space-evenly false :halign "end" :spacing 10 (button :class "" :onclick "foot bash -c 'doas apk upgrade; ~/.config/eww/scripts/chimera-updates.sh Refresh'&" chimera-updates) )) (defwidget scratchpad-indicator [] (box :class "${matches(scratchpad, '^\s*$')?'scratchpad-empty':'scratchpad'}" :orientation "h" :space-evenly false :halign "end" :spacing 10 (button :class "" :onclick "scripts/scratchpad-indicator.sh ShowInfo" scratchpad) )) (defwidget idleinhibit [] (box :class "idle" :orientation "h" :space-evenly false :halign "end" :spacing 10 (button :class "" :onclick "scripts/idleinhibit.sh toggle" idle) )) (defwidget net [] (box :class "net" :orientation "h" :space-evenly false :halign "end" :spacing 10 (button :class "" :onclick "scripts/network.sh ShowInfo" network) )) (defwidget battery [] (box :class "battery" :orientation "h" :space-evenly false :halign "end" :spacing 10 (button :class "" :onclick "scripts/battery.sh left-click" battery) )) (defpoll time_poll :interval "1s" "date +%H:%M") (defpoll battery :interval "10s" "scripts/battery.sh") (defpoll scratchpad :interval "1s" "scripts/scratchpad-indicator.sh Update || echo null") (defpoll language :interval "1s" "scripts/keyboardlayout.sh") (defpoll network :interval "1s" "scripts/network.sh") (defpoll idle :interval "1s" "scripts/idleinhibit.sh") (defpoll chimera-updates :interval "600s" "scripts/chimera-updates.sh") (defpoll volume :interval "1s" "scripts/volumecontrol") (defpoll brightness :interval "1s" "scripts/brightnesscontrol") (defpoll date-time :interval "1s" "scripts/date-time.sh") (defwindow bar0 :monitor 0 :windowtype "dock" :geometry (geometry :x "0%" :y "5px" :width "100%" :height "20px" :anchor "top center") :stacking "fg" :exclusive true :focusable false (bar0)) (defwindow bar1 :monitor 1 :windowtype "dock" :geometry (geometry :x "0%" :y "5px" :width "100%" :height "20px" :anchor "top center") :stacking "fg" :exclusive true :focusable false (bar1))