-
Notifications
You must be signed in to change notification settings - Fork 259
Open
Labels
Description
Describe the bug
Based on the description, I assumed that .show_scrollbars(false) would hide the entire scrollbar, however, when I try it only hides the thumb elements.
To Reproduce
struct MyWidget{
pub size: Vec2
}
impl View for MyWidget {
fn draw(&self, printer: &Printer) {
printer.with_color(ColorStyle::new(ColorType::Palette(Primary), ColorType::Palette(Primary)), |p| {
let size = self.size;
for x in 0..size.x{
for y in 0..size.y{
p.print((x, y), " ")
}
}
})
}
fn required_size(&mut self, _constraint: Vec2) -> Vec2 {
self.size
}
}
fn main() {
// [...]
siv.add_fullscreen_layer(
ScrollView::new(
MyWidget::new()
.with_size(Vec2::new(1000, 1000))
)
.show_scrollbars(false)
);
// [...]
}
This results in the entire terminal being filled with "white" except the rightmost column; the constraint for the required_size of the widget is also one less than the width of the terminal.
Expected behavior
I would expect this option to not show the scrollbar, while also giving one more column to the content.
Screenshots

The contrast is not great. The darkest gray is the terminals background, the lighter gray is the scrollbar.
Environment
- Operating system used: Fedora 41
- Backend used: crossterm, but default has same behaviour
- Current locale:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
- Cursive version: crates.io, 0.21.1, features=toml
Reactions are currently unavailable