local astal = require("astal") local Widget = require("astal.gtk3.widget") local Network = astal.require("AstalNetwork") local bind = astal.bind return function() local network = Network.get_default() local wifi = bind(network, "wifi") return Widget.Box({ class_name = "wifi", visible = wifi:as(function(v) return v ~= nil end), wifi:as(function(w) return Widget.Box({ Widget.Icon({ icon = bind(w, "icon-name"), }), Widget.Label({ label = bind(w, "ssid"):as(tostring), }), }) end), }) end