(defwidget SystemStatus [icon val ?visible]
  (box
    :class "system-status"
    :visible {visible}
    
    (overlay
      (circular-progress
        :halign "center"
        :valign "center"
        :class "progress"
        :thickness 40
      :value val)
      
      (box
        :class "icon"
        :halign "center"
        :valign "center"
        :height 55
        :width 55
        (label :text icon)))
  )
)