From 5c20aa9a75f7dd19f6d40b4bb8ecaab442a07828 Mon Sep 17 00:00:00 2001 From: Hojjat Date: Tue, 17 Mar 2026 16:27:52 -0600 Subject: [PATCH] fix: keyboard repeat delay and rate sliders --- .../src/pages/input/keyboard/mod.rs | 82 ++++++++++--------- 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/cosmic-settings/src/pages/input/keyboard/mod.rs b/cosmic-settings/src/pages/input/keyboard/mod.rs index d56af7a..68742cf 100644 --- a/cosmic-settings/src/pages/input/keyboard/mod.rs +++ b/cosmic-settings/src/pages/input/keyboard/mod.rs @@ -802,50 +802,52 @@ fn keyboard_typing_assist() -> Section { settings::section() .title(§ion.title) .add( - settings::flex_item(&descriptions[repeat_delay], { - // Delay - let delay_slider = cosmic::widget::slider( - KB_REPEAT_DELAY_MIN..=KB_REPEAT_DELAY_MAX, - page.xkb.repeat_delay, - Message::SetRepeatKeysDelay, - ) - .width(Length::Fill) - .breakpoints(&[KB_REPEAT_DELAY_DEFAULT]) - .step(50_u32) - .apply(widget::container) - .max_width(250); + settings::item::builder(&descriptions[repeat_delay]) + .flex_control({ + // Delay + let delay_slider = cosmic::widget::slider( + KB_REPEAT_DELAY_MIN..=KB_REPEAT_DELAY_MAX, + page.xkb.repeat_delay, + Message::SetRepeatKeysDelay, + ) + .width(Length::Fill) + .breakpoints(&[KB_REPEAT_DELAY_DEFAULT]) + .step(50_u32) + .apply(widget::container) + .max_width(250); - row::with_capacity(3) - .align_y(Alignment::Center) - .spacing(theme::spacing().space_s) - .push(widget::text::body(&descriptions[short])) - .push(delay_slider) - .push(widget::text::body(&descriptions[long])) - }) - .align_items(Alignment::Center), + row::with_capacity(3) + .align_y(Alignment::Center) + .spacing(theme::spacing().space_s) + .push(widget::text::body(&descriptions[short])) + .push(delay_slider) + .push(widget::text::body(&descriptions[long])) + }) + .align_items(Alignment::Center), ) .add( - settings::flex_item(&descriptions[repeat_rate], { - // Repeat rate - let rate_slider = cosmic::widget::slider( - KB_REPEAT_RATE_MIN..=KB_REPEAT_RATE_MAX, - page.xkb.repeat_rate, - Message::SetRepeatKeysRate, - ) - .width(Length::Fill) - .breakpoints(&[KB_REPEAT_RATE_DEFAULT]) - .step(5_u32) - .apply(widget::container) - .max_width(250); + settings::item::builder(&descriptions[repeat_rate]) + .flex_control({ + // Repeat rate + let rate_slider = cosmic::widget::slider( + KB_REPEAT_RATE_MIN..=KB_REPEAT_RATE_MAX, + page.xkb.repeat_rate, + Message::SetRepeatKeysRate, + ) + .width(Length::Fill) + .breakpoints(&[KB_REPEAT_RATE_DEFAULT]) + .step(5_u32) + .apply(widget::container) + .max_width(250); - row::with_capacity(3) - .align_y(Alignment::Center) - .spacing(theme::spacing().space_s) - .push(widget::text::body(&descriptions[slow])) - .push(rate_slider) - .push(widget::text::body(&descriptions[fast])) - }) - .align_items(Alignment::Center), + row::with_capacity(3) + .align_y(Alignment::Center) + .spacing(theme::spacing().space_s) + .push(widget::text::body(&descriptions[slow])) + .push(rate_slider) + .push(widget::text::body(&descriptions[fast])) + }) + .align_items(Alignment::Center), ) .apply(cosmic::Element::from) .map(crate::pages::Message::Keyboard)