Add a cosmic-idle-config crate for settings

This commit is contained in:
Ian Douglas Scott 2024-10-15 09:46:03 -07:00
parent f30c7c3172
commit 92a5219eb9
4 changed files with 1196 additions and 15 deletions

View file

@ -0,0 +1,8 @@
[package]
name = "cosmic-idle-config"
version = "0.1.0"
edition = "2021"
[dependencies]
cosmic-config = { git = "https://github.com/pop-os/libcosmic" }
serde = { version = "1.0.210", features = ["derive"] }

View file

@ -0,0 +1,23 @@
use cosmic_config::{cosmic_config_derive::CosmicConfigEntry, CosmicConfigEntry};
use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub enum IdleAction {
ScreenOff,
Command(Vec<String>),
}
#[derive(Debug, Deserialize, Serialize, Clone, CosmicConfigEntry)]
pub struct CosmicIdleConfig {
pub time: u32,
pub action: IdleAction,
}
impl Default for CosmicIdleConfig {
fn default() -> Self {
Self {
time: 60 * 10,
action: IdleAction::ScreenOff,
}
}
}