try a better way to work around initial occasional window misdrawing on Linux

This commit is contained in:
Drew Weymouth
2024-06-23 08:28:27 -07:00
parent 96cbbf0e15
commit 16fd76f0aa
2 changed files with 21 additions and 17 deletions
+13 -10
View File
@@ -89,16 +89,7 @@ func NewMainWindow(fyneApp fyne.App, appName, displayAppName, appVersion string,
m.BottomPanel = NewBottomPanel(app.PlaybackManager, app.ImageManager, m.Controller)
m.container = container.NewBorder(nil, m.BottomPanel, nil, nil, m.BrowsingPane)
m.Window.SetContent(m.container)
w := float32(app.Config.Application.WindowWidth)
if w <= 1 {
w = 1000
}
h := float32(app.Config.Application.WindowHeight)
if h <= 1 {
h = 800
}
m.Window.Resize(fyne.NewSize(w, h))
m.ForceResize()
app.PlaybackManager.OnSongChange(func(item mediaprovider.MediaItem, _ *mediaprovider.Track) {
if item == nil {
m.Window.SetTitle(displayAppName)
@@ -150,6 +141,18 @@ func NewMainWindow(fyneApp fyne.App, appName, displayAppName, appVersion string,
return m
}
func (m *MainWindow) ForceResize() {
w := float32(m.App.Config.Application.WindowWidth)
if w <= 1 {
w = 1000
}
h := float32(m.App.Config.Application.WindowHeight)
if h <= 1 {
h = 800
}
m.Window.Resize(fyne.NewSize(w, h))
}
func (m *MainWindow) StartupPage() controller.Route {
switch m.App.Config.Application.StartupPage {
case "Favorites":