(defpoll wireless_active :initial false :interval "60s" "scripts/bar/network-status wireless") (defpoll wired_active :initial false :interval "60s" "scripts/bar/network-status ethernet") (defvar reveal_network false) (defwidget network [] (revealer-on-hover :revealvar reveal_network :revealvar-name "reveal_network" (button :onclick 'nm-connection-editor' :class {wireless_active || wired_active ? "active" : ""} "") (network_children))) (defwidget network_children [] (box :class "reveal_children" :orientation "h" :space-evenly false :halign "center" (button :onclick {wireless_active ? 'scripts/bar/network-updown wifi down' : 'scripts/network-updown wifi up'} :class {wireless_active ? "active" : ""} "") (button :onclick {wired_active ? 'scripts/bar/network-updown ethernet down' : 'scripts/network-updown ethernet up'} :class {wired_active ? "active" : ""} "🖧")))