(defwidget user-icon [] (eventbox :class "user-icon" (box :class "img" :height 50 :width 50) ) ) (defwidget notifications [] (eventbox :class "notifications" "" ) ) (defwidget audio [] (eventbox :class "audio" :onclick "eww open --toggle audio" "墳" )) (defwidget clipboard [] (eventbox :class "clipboard" "" ) ) (defwidget top [] (box :class "top" :space-evenly "false" :valign "start" :orientation "v" (user-icon) ; TODO: User Icon - Opens misc menu (notifications) ; TODO: notifications - Opens notification menu (audio) ; TODO: Audio - Opens audio menu (music controls and volume) (clipboard); TODO: Clipboard - Opens clipboard menu (clipboard history click to make current) ) ) (defwidget workspace [] (box :class "workspace" :orientation "v" :halign "center" :space-evenly "true" (box :class {workspace == 1 ? "single-selected" : "single"} :width 25 :height 25) (box :class {workspace == 2 ? "single-selected" : "single"} :width 25 :height 25) (box :class {workspace == 3 ? "single-selected" : "single"} :width 25 :height 25) (box :class {workspace == 4 ? "single-selected" : "single"} :width 25 :height 25) (box :class {workspace == 5 ? "single-selected" : "single"} :width 25 :height 25) (box :class {workspace == 6 ? "single-selected" : "single"} :width 25 :height 25) (box :class {workspace == 7 ? "single-selected" : "single"} :width 25 :height 25) (box :class {workspace == 8 ? "single-selected" : "single"} :width 25 :height 25) (box :class {workspace == 9 ? "single-selected" : "single"} :width 25 :height 25) (box :class {workspace == 10 ? "single-selected" : "single"} :width 25 :height 25) ) ) (defwidget center [] (box :class "top" :space-evenly "false" :valign "center" :orientation "v" (workspace) ; TODO: Workspace indicator - Highlight current workspace (Click to go to?) ) ) (defwidget time [] (eventbox :class "time" time ) ) (defwidget date [] (eventbox :class "date" (box :orientation "v" year date ) ) ) (defwidget bottom [] (box :class "top" :space-evenly "false" :valign "end" :orientation "v" (time) ; TODO: Time - Open timer/stopwatch menu? (date) ; TODO: Year month day - Open calendar/upcomming events list (source these from some daemon?) ) ) (defwidget bar [] (box :class "bar" :orientation "v" (top) (center) (bottom) ) ) (defwindow bar :monitor 2 :geometry (geometry :x "0px" :y "0px" :width "50px" :height "100%" :anchor "top left") :stacking "fg" :exclusive true (bar) )