2023-04-05 13:54:12 -05:00
|
|
|
//go:build linux
|
|
|
|
|
|
|
|
|
|
package single_instance
|
|
|
|
|
|
2023-09-28 15:53:28 -05:00
|
|
|
import (
|
|
|
|
|
"os"
|
|
|
|
|
"os/signal"
|
|
|
|
|
"syscall"
|
2023-04-05 13:54:12 -05:00
|
|
|
|
2023-09-28 15:53:28 -05:00
|
|
|
"github.com/wailsapp/wails/v3/pkg/application"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
sigc := make(chan os.Signal, 1)
|
|
|
|
|
signal.Notify(sigc,
|
|
|
|
|
syscall.SIGUSR2,
|
|
|
|
|
)
|
|
|
|
|
go func() {
|
|
|
|
|
for {
|
2023-09-28 16:47:04 -05:00
|
|
|
<-sigc
|
2023-09-28 15:53:28 -05:00
|
|
|
application.Get().Show()
|
|
|
|
|
}
|
|
|
|
|
}()
|
|
|
|
|
}
|
2023-04-05 13:54:12 -05:00
|
|
|
|
|
|
|
|
func (p *Plugin) activeInstance(pid int) error {
|
2023-09-28 15:53:28 -05:00
|
|
|
syscall.Kill(pid, syscall.SIGUSR2)
|
2023-04-05 13:54:12 -05:00
|
|
|
return nil
|
|
|
|
|
}
|