(defwindow bar
  :monitor 0
  :stacking "fg"
  :focusable false
  :exclusive true

  :geometry (geometry
              :width "80px"
              :height "96%"
              :x "20px"
              :anchor "center left")

  (bar-layout))

(defwidget bar-layout []
  (centerbox
    :orientation "v"
    :style "background:transparent"
    (bar-start)
    (bar-center)
    (bar-end)))

(defwidget bar-start []
  (box
    :orientation "v"
    :valign "start"
    (workspaces)))

(defwidget bar-center []
  (box
    :orientation "v"
    :valign "fill"
    :space-evenly false
    :style "background:blue"
    (time)
    (date)))

(defwidget bar-end []
  (box 
    :orientation "v"
    :valign "end"
    :style "background:red"
    :height 400
    :spacing 20
    (volume)
    (battery)
    (cpu-usage)))

(defwidget workspaces []
  (box
    :class "workspaces"
    :orientation "v"
    :space-evenly true
    :spacing 10
    (button 1)
    (button 2)
    (button 3)
    (button 4)
    (button 5)
    (button 6)))

(defwidget date []
  (label :text "today"))

(defwidget time []
  (label :text "time"))

(defwidget volume []
  (circular-progress
    :orientation "v"
    :value 60
    :thickness 5))

(defwidget battery []
  (circular-progress
    :orientation "v"
    :value 60
    :thickness 5))

(defwidget cpu-usage []
  (circular-progress
    :orientation "v"
    :value 60
    :thickness 5))