import AstalWp from "gi://AstalWp" import { Variable, bind } from "astal" import Dropdown from "./Dropdown" const speaker = AstalWp.get_default().audio.default_speaker! const icon = Variable.derive( [bind(speaker, "volume"), bind(speaker, "mute")], (volume, mute) => { if (mute || volume <= 0.01) return "audio-volume-muted-symbolic" if (volume < 0.33) return "audio-volume-low-symbolic" if (volume < 0.66) return "audio-volume-medium-symbolic" return "audio-volume-high-symbolic" } ) export function VolumeWidget(gdkmonitor: Gdk.Monitor) { const open = Variable(false) const button = ( ) const popup = ( (speaker.volume = self.value)} /> ) return { button, popup } }