From 9af3ca0c1a087becc645a479c869938de90811eb Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Sat, 20 Dec 2025 14:37:33 -0500 Subject: [PATCH] Make main menu vertically scrollable for 800x600 windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Wrap module sections in NewVScroll container - Use border layout with fixed header and scrollable content - Allows all modules to be accessible within 800x600 window - Header and controls remain visible while content scrolls 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- internal/ui/mainmenu.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/internal/ui/mainmenu.go b/internal/ui/mainmenu.go index a4e3183..594a8c0 100644 --- a/internal/ui/mainmenu.go +++ b/internal/ui/mainmenu.go @@ -106,10 +106,15 @@ func BuildMainMenu(modules []ModuleInfo, onModuleClick func(string), onModuleDro padding := canvas.NewRectangle(color.Transparent) padding.SetMinSize(fyne.NewSize(0, 14)) - body := container.NewVBox( - header, - padding, - container.NewVBox(sections...), + // Make the sections scrollable + sectionsContent := container.NewVBox(sections...) + scroll := container.NewVScroll(sectionsContent) + + // Use border layout with fixed header and scrollable content + body := container.NewBorder( + container.NewVBox(header, padding), + nil, nil, nil, + scroll, ) // Wrap with HSplit if sidebar is visible