122 lines
3.1 KiB
Text
122 lines
3.1 KiB
Text
(defwidget bar []
|
|
(centerbox :orientation "h"
|
|
(workspaces :array workspacesArray)
|
|
(music)
|
|
(rightgroup)))
|
|
|
|
(defwidget rightgroup []
|
|
(box :class "rightgroup" :orientation "h" :space-evenly false :halign "end"
|
|
(metric :label "🔊"
|
|
:value volume
|
|
:onchange "amixer -D pulse sset Master {}%")
|
|
(metric :label ""
|
|
:value {EWW_RAM.used_mem_perc}
|
|
:onchange "")
|
|
(metric :label "💾"
|
|
:value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
|
|
:onchange "")
|
|
(systeminfo)
|
|
{formattime(EWW_TIME,"%b %d, %Y %H:%M")}
|
|
(systemtray)))
|
|
|
|
(deflisten workspacesArray :initial "${[1]}"
|
|
`~/.config/eww/scripts/getWorkspaces.sh`)
|
|
|
|
(defwidget workspaces [array]
|
|
(box :class "workspaces"
|
|
:orientation "h"
|
|
:space-evenly true
|
|
:halign "start"
|
|
|
|
(for entry in array
|
|
(button :onclick `swaymsg workspace "${entry.name}"`
|
|
:class {entry.focused ? "focused" : ""}
|
|
`${entry.name}`))))
|
|
|
|
(defwidget systemtray []
|
|
(systray
|
|
:orientation "h"
|
|
:space-evenly true
|
|
:spacing 10
|
|
:prepend-new true))
|
|
|
|
(defwidget revealer-on-hover [revealvar revealvar-name ?class ?duration ?transition]
|
|
(box
|
|
:class "${class} revealer-on-hover"
|
|
:orientation "h"
|
|
:space-evently false
|
|
(eventbox
|
|
:onhover "eww update ${revealvar-name}=true"
|
|
:onhoverlost "eww update ${revealvar-name}=false"
|
|
(box
|
|
:space-evenly false
|
|
(children :nth 0)
|
|
(revealer
|
|
:reveal revealvar
|
|
:transition {transition ?: "slideright"}
|
|
:duration {duration ?: "500ms"}
|
|
(children :nth 1))))))
|
|
|
|
(defvar reveal_systeminfo false)
|
|
(defwidget systeminfo []
|
|
(revealer-on-hover
|
|
:revealvar reveal_systeminfo
|
|
:revealvar-name "reveal_systeminfo"
|
|
(metric :label "💾"
|
|
:value {EWW_RAM.used_mem_perc}
|
|
:onchange "")
|
|
(metric :label "RAM"
|
|
:value {EWW_RAM.used_mem_perc}
|
|
:onchange "")))
|
|
|
|
(defwidget music []
|
|
(box :class "music"
|
|
:orientation "h"
|
|
:space-evenly false
|
|
:halign "center"
|
|
{music != "" ? "🎵${music}" : ""}))
|
|
|
|
(defwidget metric [label value onchange]
|
|
(box :orientation "h"
|
|
:class "metric"
|
|
:space-evenly false
|
|
(box :class "label" label)
|
|
(circular-progress :min 0
|
|
:active {onchange != ""}
|
|
:value value
|
|
:onchange onchange)))
|
|
|
|
(deflisten music :initial ""
|
|
"playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true")
|
|
|
|
(defpoll volume :interval "1s"
|
|
"scripts/getvol")
|
|
|
|
(defpoll time :interval "10s"
|
|
"date '+%H:%M %b %d, %Y'")
|
|
|
|
(defwindow bar
|
|
:monitor 2
|
|
:windowtype "dock"
|
|
:exclusive true
|
|
:geometry (geometry :x "0%"
|
|
:y "0%"
|
|
:width "99%"
|
|
:height "10px"
|
|
:anchor "top center")
|
|
:reserve (struts :side "top" :distance "4%")
|
|
(bar))
|
|
|
|
(defwindow example
|
|
:monitor 2
|
|
:geometry (geometry :x "0%"
|
|
:y "30px"
|
|
:width "90%"
|
|
:height "30px"
|
|
:anchor "top center")
|
|
:stacking "fg"
|
|
:exclusive false
|
|
:reserve (struts :distance "40px" :side "top")
|
|
:windowtype "dock"
|
|
:wm-ignore false
|
|
"example content")
|