diff --git a/internal/ui/queueview.go b/internal/ui/queueview.go index 7eec236..194025d 100644 --- a/internal/ui/queueview.go +++ b/internal/ui/queueview.go @@ -76,7 +76,10 @@ func BuildQueueView( } jobList := container.NewVBox(jobItems...) - scrollable := container.NewVScroll(jobList) + // Use a scroll container anchored to the top to avoid jumpy scroll-to-content behavior. + scrollable := container.NewScroll(jobList) + scrollable.SetMinSize(fyne.NewSize(0, 0)) + scrollable.Offset = fyne.NewPos(0, 0) body := container.NewBorder( header, diff --git a/main.go b/main.go index d317029..aae8987 100644 --- a/main.go +++ b/main.go @@ -1807,9 +1807,10 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { simpleOptions, ) - // Avoid nested scrolls capturing wheel events; let the outer page scroll handle overflow. + // Keep Simple lightweight; wrap Advanced in its own scroll to avoid bloating MinSize. simpleScrollBox := simpleWithSettings - advancedScrollBox := advancedOptions + advancedScrollBox := container.NewVScroll(advancedOptions) + advancedScrollBox.SetMinSize(fyne.NewSize(0, 0)) tabs := container.NewAppTabs( container.NewTabItem("Simple", simpleScrollBox),