;; Listeners (deflisten active-workspace `stdbuf -oL $HOME/.local/bin/scripts/eww-hyprland-active-workspace-listener`) (deflisten workspace-list :initial '[1]' `stdbuf -oL $HOME/.local/bin/scripts/eww-hyprland-workspace-list-listener`) (deflisten datetime `stdbuf -oL $HOME/.local/bin/scripts/eww-datetime-listener`) ;; Windows (defwindow bar :monitor 0 :stacking "fg" :exclusive true :geometry (geometry :width "100%" :height "28px" :anchor "top center") (bar)) (defwidget bar [] (centerbox (start) (middle) (end))) (defwidget start [] (workspaces)) (defwidget middle [] (label :text "test")) (defwidget end [] (box :halign "end" :class "end" :space-evenly false (clock))) (defwidget workspaces [] (box :class "workspaces" :space-evenly false (for id in workspace-list (button :class {active-workspace == id ? "active" : ""} :onclick `hyprctl dispatch workspace ${id}` id)))) (defwidget clock [] (pair :icon "a" :text {datetime.full})) (defwidget pair [icon text] (box :width 70 :space-evenly false (label :text icon) (label :text text)))