From 26c3bd80128e5bf570aac0ee89e163c1d2f1d4ed Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Wed, 24 Jul 2024 07:45:35 -0700 Subject: [PATCH] add retrying to Fyne window misdraw workaround on Linux --- main.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index 67cd2cb..27013fc 100644 --- a/main.go +++ b/main.go @@ -69,7 +69,16 @@ func main() { if !inDelta(size, desired, 1) { // window drawn at incorrect size on startup scale := canvas.Scale() - SendResizeToPID(os.Getpid(), int(desired.Width*scale), int(desired.Height*scale)) + for i := 0; i < 3 && !inDelta(size, desired, 1); i++ { + if i > 0 { + // if resize didn't work the first time, try again with slightly + // different desired size + desired.Subtract(fyne.NewSize(2, 2)) + } + SendResizeToPID(os.Getpid(), int(desired.Width*scale), int(desired.Height*scale)) + time.Sleep(100 * time.Millisecond) + size = canvas.Size() + } } }