diff options
Diffstat (limited to 'niri-config')
| -rw-r--r-- | niri-config/src/lib.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/niri-config/src/lib.rs b/niri-config/src/lib.rs index 26fdb8bd..9bad320b 100644 --- a/niri-config/src/lib.rs +++ b/niri-config/src/lib.rs @@ -1208,6 +1208,8 @@ pub struct SpringParams { pub struct Gestures { #[knuffel(child, default)] pub dnd_edge_view_scroll: DndEdgeViewScroll, + #[knuffel(child, default)] + pub dnd_edge_workspace_switch: DndEdgeWorkspaceSwitch, } #[derive(knuffel::Decode, Debug, Clone, Copy, PartialEq)] @@ -1231,6 +1233,26 @@ impl Default for DndEdgeViewScroll { } #[derive(knuffel::Decode, Debug, Clone, Copy, PartialEq)] +pub struct DndEdgeWorkspaceSwitch { + #[knuffel(child, unwrap(argument), default = Self::default().trigger_height)] + pub trigger_height: FloatOrInt<0, 65535>, + #[knuffel(child, unwrap(argument), default = Self::default().delay_ms)] + pub delay_ms: u16, + #[knuffel(child, unwrap(argument), default = Self::default().max_speed)] + pub max_speed: FloatOrInt<0, 1_000_000>, +} + +impl Default for DndEdgeWorkspaceSwitch { + fn default() -> Self { + Self { + trigger_height: FloatOrInt(50.), + delay_ms: 100, + max_speed: FloatOrInt(1500.), + } + } +} + +#[derive(knuffel::Decode, Debug, Clone, Copy, PartialEq)] pub struct Overview { #[knuffel(child, unwrap(argument), default = Self::default().zoom)] pub zoom: FloatOrInt<0, 1>, @@ -4556,6 +4578,15 @@ mod tests { 50.0, ), }, + dnd_edge_workspace_switch: DndEdgeWorkspaceSwitch { + trigger_height: FloatOrInt( + 50.0, + ), + delay_ms: 100, + max_speed: FloatOrInt( + 1500.0, + ), + }, }, overview: Overview { zoom: FloatOrInt( |
