(deflisten workspaces :initial "[]" "bash ./widgets/workspaces/get-workspaces.sh") (deflisten current_workspace :initial "1" "bash ./widgets/workspaces/get-active-workspace.sh") (defwidget workspaces [] (eventbox :onscroll "bash ./widgets/workspaces/change-active-workspace.sh {} ${current_workspace}" :class "workspaces-widget" (box :space-evenly true (label :text "${workspaces}${current_workspace}" :visible false) (for workspace in workspaces (eventbox :onclick "hyprctl dispatch workspace ${workspace.id}" (box :width "30" :height "30" :class "workspace-entry ${workspace.id == current_workspace ? "current" : ""} ${workspace.windows > 0 ? "occupied" : "empty"}" (label :text {workspace.id == current_workspace ? "" : workspace.windows > 0 ? "" : ""} ) ) ) ) ) ) )