diff --git a/src/frontends/wx/wx_frame.cpp b/src/frontends/wx/wx_frame.cpp index f634542..ce09cf9 100644 --- a/src/frontends/wx/wx_frame.cpp +++ b/src/frontends/wx/wx_frame.cpp @@ -160,6 +160,15 @@ EssimFrame::EssimFrame(WxFrontend &fe) overview_->SetFont(mono); log_->SetFont(mono); + // Cap each control's minimum so its *content* can't inflate the layout's + // minimum size: on GTK a full tree/text reports a large natural size, which + // would otherwise eat all the vertical space and freeze the log at its + // minimum (it stopped resizing once a script populated the tree). With a + // modest min, the sizer proportions govern and content scrolls inside. + tree_->SetMinSize(wxSize(260, 120)); + overview_->SetMinSize(wxSize(260, 120)); + log_->SetMinSize(wxSize(420, 90)); + auto *top = new wxBoxSizer(wxHORIZONTAL); top->Add(tree_, 1, wxEXPAND | wxALL, 4); top->Add(overview_, 1, wxEXPAND | wxALL, 4);