feat: Add full and short date toggle

This commit is contained in:
ziro 2023-12-28 14:21:08 +07:00
parent a5c3fb6540
commit c11a8264ec
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6

View file

@ -1,52 +1,56 @@
;; Variables
(defvar dtfull true)
;; Listeners ;; Listeners
(deflisten active-workspace (deflisten active-workspace
`stdbuf -oL $HOME/.local/bin/scripts/eww-hyprland-active-workspace-listener`) `stdbuf -oL $HOME/.local/bin/scripts/eww-hyprland-active-workspace-listener`)
(deflisten workspace-list :initial '[1]' (deflisten workspace-list :initial '[1]'
`stdbuf -oL $HOME/.local/bin/scripts/eww-hyprland-workspace-list-listener`) `stdbuf -oL $HOME/.local/bin/scripts/eww-hyprland-workspace-list-listener`)
(deflisten datetime (deflisten datetime
`stdbuf -oL $HOME/.local/bin/scripts/eww-datetime-listener`) `stdbuf -oL $HOME/.local/bin/scripts/eww-datetime-listener`)
;; Windows ;; Windows
(defwindow bar (defwindow bar
:monitor 0 :monitor 0
:stacking "fg" :stacking "fg"
:exclusive true :exclusive true
:geometry (geometry :width "100%" :height "28px" :anchor "top center") :geometry (geometry :width "100%" :height "28px" :anchor "top center")
(bar)) (bar))
(defwidget bar [] (defwidget bar []
(centerbox (centerbox
(start) (start)
(middle) (middle)
(end))) (end)))
(defwidget start [] (defwidget start []
(workspaces)) (workspaces))
(defwidget middle [] (defwidget middle []
(label :text "test")) (label :text "test"))
(defwidget end [] (defwidget end []
(box :halign "end" (box :halign "end"
:class "end" :class "end"
:space-evenly false :space-evenly false
(clock))) (clock)))
(defwidget workspaces [] (defwidget workspaces []
(box :class "workspaces" (box :class "workspaces"
:space-evenly false :space-evenly false
(for id in workspace-list (for id in workspace-list
(button :class {active-workspace == id ? "active" : ""} (button :class {active-workspace == id ? "active" : ""}
:onclick `hyprctl dispatch workspace ${id}` :onclick `hyprctl dispatch workspace ${id}`
id)))) id))))
(defwidget clock [] (defwidget clock []
(pair :icon "a" :text {datetime.full})) (eventbox :onclick `eww update dtfull=${!dtfull}`
(label :text {dtfull ? datetime.full : datetime.date})))
(defwidget pair [icon text] (defwidget pair [icon text]
(box :width 70 (box :width 70
:space-evenly false :space-evenly false
(label :text icon) (label :text icon)
(label :text text))) (label :text text)))