local astal = require("astal") local Widget = require("astal.gtk3.widget") local Wp = astal.require("AstalWp") local bind = astal.bind return function() local speaker = Wp.get_default().audio.default_speaker return Widget.Box({ class_name = "audio", Widget.Icon({ icon = bind(speaker, "volume-icon"), }), Widget.Label({ label = bind(speaker, "volume"):as(function(p) return tostring(math.floor(p * 100)) .. '%' end) }), }) end