diff --git a/linux-rust/src/ui/airpods.rs b/linux-rust/src/ui/airpods.rs index 9335b5e0..c1a75739 100644 --- a/linux-rust/src/ui/airpods.rs +++ b/linux-rust/src/ui/airpods.rs @@ -520,7 +520,7 @@ pub fn airpods_view<'a>( ]) .padding(20) .center_x(Length::Fill) - .height(Length::Fill) + .height(Length::Shrink) } fn run_async_in_thread(fut: F) diff --git a/linux-rust/src/ui/nothing.rs b/linux-rust/src/ui/nothing.rs index d683f0b1..19295ba9 100644 --- a/linux-rust/src/ui/nothing.rs +++ b/linux-rust/src/ui/nothing.rs @@ -175,7 +175,7 @@ pub fn nothing_view<'a>( ]) .padding(20) .center_x(Length::Fill) - .height(Length::Fill) + .height(Length::Shrink) } fn run_async_in_thread(fut: F) diff --git a/linux-rust/src/ui/window.rs b/linux-rust/src/ui/window.rs index 4574b97c..47a2d39a 100644 --- a/linux-rust/src/ui/window.rs +++ b/linux-rust/src/ui/window.rs @@ -871,12 +871,16 @@ impl App { match state { DeviceState::AirPods(state) => { device_managers.get(id).and_then(|managers| { - managers.get_aacp().map(|aacp_manager| airpods_view( - id, - &devices_list, - state, - aacp_manager.clone() - )) + managers.get_aacp().map(|aacp_manager| { + let view = airpods_view( + id, + &devices_list, + state, + aacp_manager.clone(), + ); + container(scrollable(view).height(Length::Fill)) + .height(Length::Fill) + }) }) } _ => None, @@ -893,7 +897,9 @@ impl App { if let Some(DeviceState::Nothing(state)) = device_state { if let Some(device_managers) = device_managers.get(id) { if let Some(att_manager) = device_managers.get_att() { - nothing_view(id, &devices_list, state, att_manager.clone()) + let view = nothing_view(id, &devices_list, state, att_manager.clone()); + container(scrollable(view).height(Length::Fill)) + .height(Length::Fill) } else { error!("No ATT manager found for Nothing device {}", id); container(