diff options
Diffstat (limited to 'pulse/src/lib.rs')
| -rw-r--r-- | pulse/src/lib.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/pulse/src/lib.rs b/pulse/src/lib.rs new file mode 100644 index 0000000..cfecfd4 --- /dev/null +++ b/pulse/src/lib.rs @@ -0,0 +1,37 @@ +use swaystatus_plugin::*; + +mod runnable; +mod config; +mod communication; + +use config::*; + +pub struct PulseVolumePlugin; +impl SwayStatusModule for PulseVolumePlugin { + fn get_name(&self) -> &str { + "PulseVolume" + } + fn deserialize_config<'de>(&self, deserializer : &mut (dyn erased_serde::Deserializer + 'de)) -> Result<Box<dyn SwayStatusModuleInstance>, erased_serde::Error> { + let result : PulseVolumeConfig = erased_serde::deserialize(deserializer)?; + Ok(Box::new(result)) + } + fn get_default_config(&self) -> Box<dyn SwayStatusModuleInstance> { + let config = PulseVolumeConfig::default(); + Box::new(config) + } + fn print_help(&self) { + //TODO! + println!( +r#"Swaystatus Pulseaudio Volume plugin. + +Sorry, this help has not been finalized. If this ever gets public, slap Andi."#); + } +} + +impl PulseVolumePlugin { + fn new() -> Self { + Self + } +} + +declare_swaystatus_module!(PulseVolumePlugin, PulseVolumePlugin::new); |
