(defwidget revealer-on-hover [revealvar revealvar-name ?class ?duration ?transition]
  (box
    :class "${class} revealer-on-hover"
    :orientation "h"
    :space-evenly 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))))))
