Programmatically resizing the window does not cause the layout to be recomputed
Author: the10thWizCreated Dec 19, 2025Updated Aug 14, 2026
Labelsbug
Is your issue REALLY a bug?
- My issue is indeed a bug!
- I am not crazy! I will not fill out this form just to ask a question or request a feature. Pinky promise.
Is there an existing issue for this?
- I have searched the existing issues.
Is this issue related to iced?
- My hardware is compatible and my graphics drivers are up-to-date.
What happened?
When a window is resized programmatically (via iced::window::resize) the widget layout is not recomputed. Resizing the window with the mouse (using the native handles) does correctly recompute the layout.
Example code:
pub fn main() -> iced::Result {
iced::application(Example::default, Example::update, Example::view)
.run()
}
#[derive(Default)]
struct Example { }
#[derive(Debug, Clone, Copy)]
enum Message {
ResizeWindow(Size),
}
impl Example {
fn update(&mut self, message: Message) -> Task<Message> {
match message {
Message::ResizeWindow(size) => {
return window::latest().and_then(move |id| window::resize(id, size));
}
}
// Task::none()
}
fn view(&self) -> Element<'_, Message> {
let content = column![
button("Resize to 100x100").on_press(Message::ResizeWindow(Size::new(100., 100.))),
button("Resize to 200x200").on_press(Message::ResizeWindow(Size::new(200., 200.))),
]
.spacing(20);
center(content).into()
}
}When run, resizing by grabbing the corner and dragging resizes as expected, but pressing either button resizes the window and just scales the contents without recomputing the layout.
Note: I'm on Arch Linux, using KDE + Wayland, so this issue might be specific to that setup.
What is the expected behavior?
I would expect the resize to recompute the layout for the new window size.
Version
master
Operating System
Linux
Do you have any log output?
Source: iced-rs/iced