Add a cosmic-idle-config crate for settings
This commit is contained in:
parent
f30c7c3172
commit
92a5219eb9
4 changed files with 1196 additions and 15 deletions
8
cosmic-idle-config/Cargo.toml
Normal file
8
cosmic-idle-config/Cargo.toml
Normal 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"] }
|
||||
23
cosmic-idle-config/src/lib.rs
Normal file
23
cosmic-idle-config/src/lib.rs
Normal 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,
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue