// Copyright 2023 System76 // SPDX-License-Identifier: GPL-3.0-only use cosmic::cosmic_config::{ self, Config, ConfigGet, CosmicConfigEntry, cosmic_config_derive::CosmicConfigEntry, }; use serde::{Deserialize, Serialize}; const AUDIO_CONFIG: &str = "com.system76.CosmicAudio"; const AMPLIFICATION_SINK: &str = "amplification_sink"; const AMPLIFICATION_SOURCE: &str = "amplification_source"; pub fn amplification_sink() -> bool { Config::new(AUDIO_CONFIG, 1) .ok() .and_then(|config| config.get::(AMPLIFICATION_SINK).ok()) .unwrap_or(true) } pub fn amplification_source() -> bool { Config::new(AUDIO_CONFIG, 1) .ok() .and_then(|config| config.get::(AMPLIFICATION_SOURCE).ok()) .unwrap_or(false) } #[derive(Default, Debug, Clone, Serialize, Deserialize, CosmicConfigEntry, PartialEq, Eq)] #[version = 1] pub struct AudioAppletConfig { pub show_media_controls_in_top_panel: bool, }