config: Add zoom configuration

This commit is contained in:
Victoria Brekenfeld 2025-01-24 17:49:13 +01:00 committed by Victoria Brekenfeld
parent c01de20b2b
commit 55d1ce5e3b
2 changed files with 33 additions and 1 deletions

View file

@ -48,6 +48,7 @@ pub struct CosmicCompConfig {
pub descale_xwayland: bool,
/// The threshold before windows snap themselves to output edges
pub edge_snap_threshold: u32,
pub accessibility_zoom: ZoomConfig,
}
impl Default for CosmicCompConfig {
@ -79,6 +80,7 @@ impl Default for CosmicCompConfig {
focus_follows_cursor_delay: 250,
descale_xwayland: false,
edge_snap_threshold: 0,
accessibility_zoom: ZoomConfig::default(),
}
}
}
@ -124,3 +126,27 @@ fn default_repeat_rate() -> u32 {
fn default_repeat_delay() -> u32 {
600
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize, Serialize)]
pub struct ZoomConfig {
pub start_on_login: bool,
pub increment: u32,
pub view_moves: ZoomMovement,
}
impl Default for ZoomConfig {
fn default() -> Self {
ZoomConfig {
start_on_login: false,
increment: 100,
view_moves: ZoomMovement::OnEdge,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize, Serialize)]
pub enum ZoomMovement {
OnEdge,
Centered,
Continuously,
}