diff --git a/de/home/.config/eww/eww.yuck b/de/home/.config/eww/eww.yuck index 1db824a..80769ed 100644 --- a/de/home/.config/eww/eww.yuck +++ b/de/home/.config/eww/eww.yuck @@ -47,56 +47,17 @@ (include "modules/bar/music.yuck") -(defwidget metric [label value onchange] - (box :orientation "h" - :class "metric" - :space-evenly false - (box :class "label" label) - (circular-progress - :active {onchange != ""} - :value value - :start-at 0 - :thickness 10 - :clockwise true - :onchange onchange))) +(include "modules/bar/metric.yuck") ;(defpoll time :interval "10s" ; "date '+%H:%M %b %d, %Y'") (include "modules/bar.yuck") -(defwidget widgets [] - (box :class "widgets" - :orientation "v" - :spacing 10 - :width 300 - :space-evenly false - (rat) - (weather :json weather_status))) +(include "modules/widgets.yuck") -(defpoll rat_image :interval "60s" - 'scripts/randomrat') -;(defvar rat_image "/home/penelope/Pictures/Phone/Albums/Rattos/20211109_042550_IMG_9873.JPG") -(defwidget rat [] - (box - :class "rat" - :orientation "h" - :width 300 - :height 300 - :style "background-image: url('${rat_image}');")) +(include "modules/widgets/rat.yuck") -(defpoll weather_status :interval "3600s" - 'curl wttr.in/Eugene?format=j1') -(defwidget weather [json] - (box - :class "weather" - :orientation "v" - :width 300 - :height 125 - :space-evenly true - "Eugene, OR | ${json.current_condition[0].weatherDesc[0].value}" - "${json.current_condition[0].temp_F}°F (feels like ${json.current_condition[0].FeelsLikeF}°F)" - "${json.weather[0].mintempF}°F / ${json.weather[0].maxtempF}°F" - "${json.current_condition[0].humidity}% humidity")) +(include "modules/widgets/weather.yuck") (include "windows.yuck") diff --git a/de/home/.config/eww/modules/bar/metric.yuck b/de/home/.config/eww/modules/bar/metric.yuck new file mode 100644 index 0000000..a0d9be3 --- /dev/null +++ b/de/home/.config/eww/modules/bar/metric.yuck @@ -0,0 +1,12 @@ +(defwidget metric [label value onchange] + (box :orientation "h" + :class "metric" + :space-evenly false + (box :class "label" label) + (circular-progress + :active {onchange != ""} + :value value + :start-at 0 + :thickness 10 + :clockwise true + :onchange onchange))) diff --git a/de/home/.config/eww/modules/bar/revealer-on-hover.yuck b/de/home/.config/eww/modules/bar/revealer-on-hover.yuck new file mode 100644 index 0000000..bd1376c --- /dev/null +++ b/de/home/.config/eww/modules/bar/revealer-on-hover.yuck @@ -0,0 +1,16 @@ +(defwidget revealer-on-hover [revealvar revealvar-name ?class ?duration ?transition] + (box + :class "${class} revealer-on-hover" + :orientation "h" + :space-evently false + (eventbox + :onhover "${EWW_CMD} update ${revealvar-name}=true" + :onhoverlost "${EWW_CMD} update ${revealvar-name}=false" + (box + :space-evenly false + (children :nth 0) + (revealer + :reveal revealvar + :transition {transition ?: "slideright"} + :duration {duration ?: "500ms"} + (children :nth 1)))))) diff --git a/de/home/.config/eww/modules/widgets.yuck b/de/home/.config/eww/modules/widgets.yuck new file mode 100644 index 0000000..3acce1a --- /dev/null +++ b/de/home/.config/eww/modules/widgets.yuck @@ -0,0 +1,8 @@ +(defwidget widgets [] + (box :class "widgets" + :orientation "v" + :spacing 10 + :width 300 + :space-evenly false + (rat) + (weather :json weather_status))) diff --git a/de/home/.config/eww/modules/widgets/rat.yuck b/de/home/.config/eww/modules/widgets/rat.yuck new file mode 100644 index 0000000..d88cf58 --- /dev/null +++ b/de/home/.config/eww/modules/widgets/rat.yuck @@ -0,0 +1,9 @@ +(defpoll rat_image :interval "60s" + 'scripts/randomrat') +(defwidget rat [] + (box + :class "rat" + :orientation "h" + :width 300 + :height 300 + :style "background-image: url('${rat_image}');")) diff --git a/de/home/.config/eww/modules/widgets/weather.yuck b/de/home/.config/eww/modules/widgets/weather.yuck new file mode 100644 index 0000000..6e5474d --- /dev/null +++ b/de/home/.config/eww/modules/widgets/weather.yuck @@ -0,0 +1,13 @@ +(defpoll weather_status :interval "3600s" + 'curl wttr.in/Eugene?format=j1') +(defwidget weather [json] + (box + :class "weather" + :orientation "v" + :width 300 + :height 125 + :space-evenly true + "Eugene, OR | ${json.current_condition[0].weatherDesc[0].value}" + "${json.current_condition[0].temp_F}°F (feels like ${json.current_condition[0].FeelsLikeF}°F)" + "${json.weather[0].mintempF}°F / ${json.weather[0].maxtempF}°F" + "${json.current_condition[0].humidity}% humidity"))