From a998465034f37c25b97f073675ee96317fae099e Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Thu, 6 Apr 2023 08:29:20 +1000 Subject: [PATCH] [v3] Update start_at_login plugin to allow better compilation on Linux --- v3/plugins/start_at_login/plugin.go | 17 ++++------------- v3/plugins/start_at_login/plugin_darwin.go | 14 ++++++++++++++ v3/plugins/start_at_login/plugin_linux.go | 8 ++++++++ v3/plugins/start_at_login/plugin_window.go | 8 ++++++++ 4 files changed, 34 insertions(+), 13 deletions(-) create mode 100644 v3/plugins/start_at_login/plugin_linux.go create mode 100644 v3/plugins/start_at_login/plugin_window.go diff --git a/v3/plugins/start_at_login/plugin.go b/v3/plugins/start_at_login/plugin.go index 18a0223cc..44cbae6c6 100644 --- a/v3/plugins/start_at_login/plugin.go +++ b/v3/plugins/start_at_login/plugin.go @@ -2,9 +2,6 @@ package start_at_login import ( "github.com/wailsapp/wails/v3/pkg/application" - "github.com/wailsapp/wails/v3/pkg/logger" - "github.com/wailsapp/wails/v3/pkg/mac" - "runtime" ) type Plugin struct { @@ -28,16 +25,10 @@ func (p *Plugin) Name() string { func (p *Plugin) Init(app *application.App) error { p.app = app - if runtime.GOOS == "darwin" { - bundleID := mac.GetBundleID() - if bundleID == "" { - p.app.Log(&logger.Message{ - Level: "INFO", - Message: "Application is not in bundle. StartAtLogin will not work.", - }) - p.disabled = true - return nil - } + // OS specific initialiser + err := p.init() + if err != nil { + return err } return nil } diff --git a/v3/plugins/start_at_login/plugin_darwin.go b/v3/plugins/start_at_login/plugin_darwin.go index 3c2444d5b..f3d88390c 100644 --- a/v3/plugins/start_at_login/plugin_darwin.go +++ b/v3/plugins/start_at_login/plugin_darwin.go @@ -6,12 +6,26 @@ import ( "fmt" "github.com/pkg/errors" "github.com/samber/lo" + "github.com/wailsapp/wails/v3/pkg/logger" + "github.com/wailsapp/wails/v3/pkg/mac" "os" "os/exec" "path/filepath" "strings" ) +func (p *Plugin) init() error { + bundleID := mac.GetBundleID() + if bundleID == "" { + p.app.Log(&logger.Message{ + Level: "INFO", + Message: "Application is not in bundle. StartAtLogin will not work.", + }) + p.disabled = true + } + return nil +} + func (p *Plugin) StartAtLogin(enabled bool) error { if p.disabled { return nil diff --git a/v3/plugins/start_at_login/plugin_linux.go b/v3/plugins/start_at_login/plugin_linux.go new file mode 100644 index 000000000..22d1b244d --- /dev/null +++ b/v3/plugins/start_at_login/plugin_linux.go @@ -0,0 +1,8 @@ +//go:build linux + +package start_at_login + +func (p *Plugin) init() error { + // TBD + return nil +} diff --git a/v3/plugins/start_at_login/plugin_window.go b/v3/plugins/start_at_login/plugin_window.go new file mode 100644 index 000000000..7018077ac --- /dev/null +++ b/v3/plugins/start_at_login/plugin_window.go @@ -0,0 +1,8 @@ +//go:build windows + +package start_at_login + +func (p *Plugin) init() error { + // TBD + return nil +}