31 lines
980 B
Rust
31 lines
980 B
Rust
// Copyright 2023 System76 <info@system76.com>
|
|
// 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::<bool>(AMPLIFICATION_SINK).ok())
|
|
.unwrap_or(true)
|
|
}
|
|
|
|
pub fn amplification_source() -> bool {
|
|
Config::new(AUDIO_CONFIG, 1)
|
|
.ok()
|
|
.and_then(|config| config.get::<bool>(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,
|
|
}
|