From c9aa6fde67fa56f16c55a759976bffd4c6270ed6 Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Mon, 23 Nov 2020 20:21:09 +0000 Subject: [PATCH] Quietly begin wayland testing --- internal/driver/glfw/driver.go | 7 +++++-- internal/driver/glfw/driver_wayland.go | 7 +++++++ internal/driver/glfw/window.go | 10 ++++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 internal/driver/glfw/driver_wayland.go diff --git a/internal/driver/glfw/driver.go b/internal/driver/glfw/driver.go index 5f9d7680f6..547bba4afb 100644 --- a/internal/driver/glfw/driver.go +++ b/internal/driver/glfw/driver.go @@ -15,8 +15,11 @@ import ( const mainGoroutineID = 1 -var canvasMutex sync.RWMutex -var canvases = make(map[fyne.CanvasObject]fyne.Canvas) +var ( + canvasMutex sync.RWMutex + canvases = make(map[fyne.CanvasObject]fyne.Canvas) + isWayland = false +) // Declare conformity with Driver var _ fyne.Driver = (*gLDriver)(nil) diff --git a/internal/driver/glfw/driver_wayland.go b/internal/driver/glfw/driver_wayland.go new file mode 100644 index 0000000000..ec76f3eb36 --- /dev/null +++ b/internal/driver/glfw/driver_wayland.go @@ -0,0 +1,7 @@ +// +build wayland + +package glfw + +func init() { + isWayland = true +} diff --git a/internal/driver/glfw/window.go b/internal/driver/glfw/window.go index 39c64418c2..39c4a9a0b5 100644 --- a/internal/driver/glfw/window.go +++ b/internal/driver/glfw/window.go @@ -160,6 +160,10 @@ func (w *window) screenSize(canvasSize fyne.Size) (int, int) { } func (w *window) RequestFocus() { + if isWayland { + return + } + w.runOnMainWhenCreated(w.viewport.Focus) } @@ -1185,8 +1189,10 @@ func (d *gLDriver) createWindow(title string, decorate bool) fyne.Window { func (w *window) create() { runOnMain(func() { - // make the window hidden, we will set it up and then show it later - glfw.WindowHint(glfw.Visible, 0) + if !isWayland { + // make the window hidden, we will set it up and then show it later + glfw.WindowHint(glfw.Visible, 0) + } if w.decorate { glfw.WindowHint(glfw.Decorated, 1) } else {