From 59484e9b38ac7c5c35a7af0e4a14bcc2eb09a92f Mon Sep 17 00:00:00 2001 From: Marcel Otte Date: Mon, 21 Mar 2022 22:41:24 +0100 Subject: [PATCH] Using latest develop from fyne for proper systray menu --- cmd/backive_ui/main.go | 4 ++-- go.mod | 4 ++-- go.sum | 13 +++++++------ ui/ui_main.go | 21 ++++++++++++++++----- 4 files changed, 27 insertions(+), 15 deletions(-) diff --git a/cmd/backive_ui/main.go b/cmd/backive_ui/main.go index ce2ebfd..01ef647 100644 --- a/cmd/backive_ui/main.go +++ b/cmd/backive_ui/main.go @@ -16,8 +16,8 @@ func main() { database.Load() config.Load() - app := app.NewWithID("to.mmo.backive") - w := app.NewWindow("Hello World!") + app := app.NewWithID("Backive UI") + w := app.NewWindow("Backive UI") backiveui.Init(app, w, config, database) //w.SetContent(widget.NewLabel("Hello World!")) diff --git a/go.mod b/go.mod index 182ca83..346801e 100644 --- a/go.mod +++ b/go.mod @@ -3,13 +3,13 @@ module github.com/qwc/backive go 1.17 require ( - fyne.io/fyne/v2 v2.1.4-0.20220317100007-07feb4181e66 + fyne.io/fyne/v2 v2.1.4-0.20220321092319-8a034f22e40e github.com/fsnotify/fsnotify v1.5.1 github.com/spf13/viper v1.10.1 ) require ( - fyne.io/systray v1.1.1-0.20220307102710-0121a6d9ce01 // indirect + fyne.io/systray v1.9.1-0.20220318224641-d5779bfb17d1 // indirect github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/fredbi/uri v0.0.0-20181227131451-3dcfdacbaaf3 // indirect diff --git a/go.sum b/go.sum index 6bc883f..b0fc555 100644 --- a/go.sum +++ b/go.sum @@ -49,10 +49,10 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -fyne.io/fyne/v2 v2.1.4-0.20220317100007-07feb4181e66 h1:mm1tV+N0zCXg7G5FVnDG24HDLGruok8yaXaAiYybcQQ= -fyne.io/fyne/v2 v2.1.4-0.20220317100007-07feb4181e66/go.mod h1:fVEONfc16/iJJNvkjV9CCRtOynewEqBcG4smuVV60nk= -fyne.io/systray v1.1.1-0.20220307102710-0121a6d9ce01 h1:kKqpTktxesuGT4+Dv1aYiVse688saMLeWPDRihIw+zI= -fyne.io/systray v1.1.1-0.20220307102710-0121a6d9ce01/go.mod h1:N4ZU0i34X+n8soFRlBNkmJTunw9wD+9jIP19fSZpjSI= +fyne.io/fyne/v2 v2.1.4-0.20220321092319-8a034f22e40e h1:877sgaSGquT3KTf/9rC4my5xDA+Eo63qyHXWprmWe2A= +fyne.io/fyne/v2 v2.1.4-0.20220321092319-8a034f22e40e/go.mod h1:g78BcwcENN6ex60vtVvw03oXoy37Sj4jmEZjLLEhswo= +fyne.io/systray v1.9.1-0.20220318224641-d5779bfb17d1 h1:+WSQpU5D3NIpeWKzbIn0D7+OtVbOz7A2e92ezFWacmc= +fyne.io/systray v1.9.1-0.20220318224641-d5779bfb17d1/go.mod h1:N4ZU0i34X+n8soFRlBNkmJTunw9wD+9jIP19fSZpjSI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.0.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= @@ -99,8 +99,8 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -363,6 +363,7 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= @@ -406,7 +407,7 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/urfave/cli/v2 v2.4.0/go.mod h1:NX9W0zmTvedE5oDoOMs2RTC8RvdK98NTYZE5LbaEYPg= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= diff --git a/ui/ui_main.go b/ui/ui_main.go index ef45fa8..5bd5445 100644 --- a/ui/ui_main.go +++ b/ui/ui_main.go @@ -36,17 +36,28 @@ func Init(a fyne.App, w fyne.Window, c backive.Configuration, d backive.Database config = c db = d SetupLayout() + window.SetCloseIntercept( + func() { + window.Hide() + }) } func makeTray(app fyne.App) { if desk, ok := app.(desktop.App); ok { menu := fyne.NewMenu( "backive", - fyne.NewMenuItem( - "open app", - func() { - fmt.Println("TrayMenu tapped.") - })) + fyne.NewMenuItem("open app", func() { + window.Show() + fmt.Println("TrayMenu tapped.") + }), + fyne.NewMenuItem("Hide app", func() { + window.Hide() + fmt.Println("Hide tapped.") + }), + fyne.NewMenuItem("Send note", func() { + app.SendNotification(fyne.NewNotification("Hi", "content stuff")) + }), + ) desk.SetSystemTrayMenu(menu) } }