mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-24 02:01:18 +07:00
config: Extract gestures
This commit is contained in:
@@ -0,0 +1,57 @@
|
|||||||
|
use crate::FloatOrInt;
|
||||||
|
|
||||||
|
#[derive(knuffel::Decode, Debug, Default, Clone, Copy, PartialEq)]
|
||||||
|
pub struct Gestures {
|
||||||
|
#[knuffel(child, default)]
|
||||||
|
pub dnd_edge_view_scroll: DndEdgeViewScroll,
|
||||||
|
#[knuffel(child, default)]
|
||||||
|
pub dnd_edge_workspace_switch: DndEdgeWorkspaceSwitch,
|
||||||
|
#[knuffel(child, default)]
|
||||||
|
pub hot_corners: HotCorners,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(knuffel::Decode, Debug, Clone, Copy, PartialEq)]
|
||||||
|
pub struct DndEdgeViewScroll {
|
||||||
|
#[knuffel(child, unwrap(argument), default = Self::default().trigger_width)]
|
||||||
|
pub trigger_width: 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 DndEdgeViewScroll {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self {
|
||||||
|
trigger_width: FloatOrInt(30.), // Taken from GTK 4.
|
||||||
|
delay_ms: 100,
|
||||||
|
max_speed: FloatOrInt(1500.),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[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, Default, Clone, Copy, PartialEq)]
|
||||||
|
pub struct HotCorners {
|
||||||
|
#[knuffel(child)]
|
||||||
|
pub off: bool,
|
||||||
|
}
|
||||||
+2
-56
@@ -21,6 +21,7 @@ use smithay::input::keyboard::Keysym;
|
|||||||
|
|
||||||
pub mod animations;
|
pub mod animations;
|
||||||
pub mod appearance;
|
pub mod appearance;
|
||||||
|
pub mod gestures;
|
||||||
pub mod input;
|
pub mod input;
|
||||||
pub mod layer_rule;
|
pub mod layer_rule;
|
||||||
pub mod layout;
|
pub mod layout;
|
||||||
@@ -32,6 +33,7 @@ pub use crate::animations::{
|
|||||||
Animation, AnimationCurve, AnimationKind, Animations, EasingParams, SpringParams,
|
Animation, AnimationCurve, AnimationKind, Animations, EasingParams, SpringParams,
|
||||||
};
|
};
|
||||||
pub use crate::appearance::*;
|
pub use crate::appearance::*;
|
||||||
|
pub use crate::gestures::Gestures;
|
||||||
pub use crate::input::{Input, ModKey, ScrollMethod, TrackLayout, WarpMouseToFocusMode, Xkb};
|
pub use crate::input::{Input, ModKey, ScrollMethod, TrackLayout, WarpMouseToFocusMode, Xkb};
|
||||||
pub use crate::layer_rule::LayerRule;
|
pub use crate::layer_rule::LayerRule;
|
||||||
pub use crate::layout::*;
|
pub use crate::layout::*;
|
||||||
@@ -154,62 +156,6 @@ pub struct Clipboard {
|
|||||||
pub disable_primary: bool,
|
pub disable_primary: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(knuffel::Decode, Debug, Default, Clone, Copy, PartialEq)]
|
|
||||||
pub struct Gestures {
|
|
||||||
#[knuffel(child, default)]
|
|
||||||
pub dnd_edge_view_scroll: DndEdgeViewScroll,
|
|
||||||
#[knuffel(child, default)]
|
|
||||||
pub dnd_edge_workspace_switch: DndEdgeWorkspaceSwitch,
|
|
||||||
#[knuffel(child, default)]
|
|
||||||
pub hot_corners: HotCorners,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(knuffel::Decode, Debug, Clone, Copy, PartialEq)]
|
|
||||||
pub struct DndEdgeViewScroll {
|
|
||||||
#[knuffel(child, unwrap(argument), default = Self::default().trigger_width)]
|
|
||||||
pub trigger_width: 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 DndEdgeViewScroll {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self {
|
|
||||||
trigger_width: FloatOrInt(30.), // Taken from GTK 4.
|
|
||||||
delay_ms: 100,
|
|
||||||
max_speed: FloatOrInt(1500.),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[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, Default, Clone, Copy, PartialEq)]
|
|
||||||
pub struct HotCorners {
|
|
||||||
#[knuffel(child)]
|
|
||||||
pub off: bool,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(knuffel::Decode, Debug, Clone, Copy, PartialEq)]
|
#[derive(knuffel::Decode, Debug, Clone, Copy, PartialEq)]
|
||||||
pub struct Overview {
|
pub struct Overview {
|
||||||
#[knuffel(child, unwrap(argument), default = Self::default().zoom)]
|
#[knuffel(child, unwrap(argument), default = Self::default().zoom)]
|
||||||
|
|||||||
Reference in New Issue
Block a user