From 6bf26f6f726e8fbacd641d01aeeac638b84a05ad Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Wed, 5 Mar 2025 10:34:16 +0800 Subject: [PATCH] scrollbar: Update Scrollbar default to use hover to show on Linux. (#687) Continue #686 --- crates/story/src/lib.rs | 2 +- crates/story/src/title_bar.rs | 2 +- crates/ui/src/scroll/scrollbar.rs | 3 ++- crates/ui/src/theme.rs | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/story/src/lib.rs b/crates/story/src/lib.rs index b3a91427..c0b50345 100644 --- a/crates/story/src/lib.rs +++ b/crates/story/src/lib.rs @@ -81,7 +81,7 @@ pub struct SelectRadius(usize); impl_internal_actions!( story, - [SelectLocale, SelectFont, SelectRadius, SelectScrollbarShow,] + [SelectLocale, SelectFont, SelectRadius, SelectScrollbarShow] ); actions!(story, [Quit, Open, CloseWindow]); diff --git a/crates/story/src/title_bar.rs b/crates/story/src/title_bar.rs index e599a0ea..738cc3dd 100644 --- a/crates/story/src/title_bar.rs +++ b/crates/story/src/title_bar.rs @@ -40,7 +40,7 @@ impl AppTitleBar { if cx.should_auto_hide_scrollbars() { Theme::global_mut(cx).scrollbar_show = ScrollbarShow::Scrolling; } else { - Theme::global_mut(cx).scrollbar_show = ScrollbarShow::Always; + Theme::global_mut(cx).scrollbar_show = ScrollbarShow::Hover; } let theme_color_picker = cx.new(|cx| { diff --git a/crates/ui/src/scroll/scrollbar.rs b/crates/ui/src/scroll/scrollbar.rs index b2d58c28..9e79bde5 100644 --- a/crates/ui/src/scroll/scrollbar.rs +++ b/crates/ui/src/scroll/scrollbar.rs @@ -632,7 +632,8 @@ impl Element for Scrollbar { cx: &mut App, ) { let hitbox_bounds = prepaint.hitbox.bounds; - let is_visible = self.state.get().is_scrollbar_visible() || cx.theme().scrollbar_show.is_always(); + let is_visible = + self.state.get().is_scrollbar_visible() || cx.theme().scrollbar_show.is_always(); let is_hover_to_show = cx.theme().scrollbar_show.is_hover(); // Update last_scroll_time when offset is changed. diff --git a/crates/ui/src/theme.rs b/crates/ui/src/theme.rs index edae57e3..ff0c6d00 100644 --- a/crates/ui/src/theme.rs +++ b/crates/ui/src/theme.rs @@ -513,7 +513,7 @@ impl Theme { if cx.should_auto_hide_scrollbars() { cx.global_mut::().scrollbar_show = ScrollbarShow::Scrolling; } else { - cx.global_mut::().scrollbar_show = ScrollbarShow::Always; + cx.global_mut::().scrollbar_show = ScrollbarShow::Hover; } }