37 lines
875 B
Text
37 lines
875 B
Text
;; 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`)
|
|
|
|
;; 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 []
|
|
(literal :content "test"))
|
|
|
|
(defwidget end []
|
|
(literal :content "test"))
|
|
|
|
(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))))
|