What's new
✨ Live dropdowns in config
All three config fields (PipeWeaver target name, speaker device, headphone device) are now dropdowns populated live from the PipeWeaver API when the config panel is opened. The first available option is auto-saved on first use. Falls back to free-text entry if PipeWeaver is unreachable.
🎨 Icon-only button
All text labels have been removed from the button — the speaker/headphone/unknown icons speak for themselves.
🐛 Bug fixes
- Config panel failed to open silently:
Adw.EntryRowdoes not supportset_subtitle()— replaced withset_tooltip_text() get_settings()returningNonefor a freshly placed action caused crashes in_settings()and_save_setting()— both now guard withor {}
Upgrading from 0.2.0
No manual steps needed. Open the config panel once after upgrading — your devices will be detected automatically and the dropdowns pre-populated.