Skip to content

Commit 9f5a604

Browse files
committed
refine the tray application and fix logging
1 parent 82f5dcf commit 9f5a604

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

.gitignore

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
backrest-*
22
dist
3-
backrest.exe
43
__debug_bin
5-
cmd/backrest/backrest
4+
cmd/backrest/backrest
5+
*.exe

cmd/backrestmon/backrestmon.go

+17-11
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,23 @@ func main() {
4242

4343
cmd := exec.CommandContext(ctx, backrest)
4444
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
45+
cmd.Env = append(os.Environ(), "ENV=prod")
46+
47+
pro, pwo := io.Pipe()
48+
pre, pwe := io.Pipe()
49+
cmd.Stdout = pwo
50+
cmd.Stderr = pwe
51+
52+
go func() {
53+
io.Copy(l, io.MultiReader(pro, pre))
54+
}()
55+
4556
if err := cmd.Start(); err != nil {
4657
reportError(err)
4758
cancel()
4859
return
4960
}
5061

51-
go func() {
52-
pro, pwo := io.Pipe()
53-
pre, pwe := io.Pipe()
54-
cmd.Stdout = pwo
55-
cmd.Stderr = pwe
56-
io.Copy(l, io.MultiReader(pro, pre))
57-
}()
58-
5962
systray.Run(func() {
6063
systray.SetTitle("Backrest Tray")
6164
systray.SetTooltip("Manage backrest")
@@ -73,7 +76,7 @@ func main() {
7376
}()
7477

7578
// Second item: open the log file in the file explorer
76-
mOpenLog := systray.AddMenuItem("Open Log", "Open the Backrest log directory")
79+
mOpenLog := systray.AddMenuItem("Open Log Dir", "Open the Backrest log directory")
7780
mOpenLog.ClickedCh = make(chan struct{})
7881
go func() {
7982
for range mOpenLog.ClickedCh {
@@ -84,7 +87,7 @@ func main() {
8487
}()
8588

8689
// Last item: quit button to stop the backrest process.
87-
mQuit := systray.AddMenuItem("Quit", "Quit the whole app")
90+
mQuit := systray.AddMenuItem("Quit", "Kills the backrest process and exits the tray app")
8891
mQuit.ClickedCh = make(chan struct{})
8992
go func() {
9093
<-mQuit.ClickedCh
@@ -97,7 +100,9 @@ func main() {
97100

98101
if err := cmd.Wait(); err != nil {
99102
systray.Quit()
100-
reportError(fmt.Errorf("backrest process exited unexpectedly with error: %w", err))
103+
if ctx.Err() != context.Canceled {
104+
reportError(fmt.Errorf("backrest process exited unexpectedly with error: %w", err))
105+
}
101106
return
102107
}
103108
}
@@ -145,6 +150,7 @@ func reportError(err error) {
145150

146151
func createLogWriter() (io.WriteCloser, error) {
147152
logsDir := logsPath()
153+
fmt.Printf("Logging to %s\n", logsDir)
148154
if err := os.MkdirAll(logsDir, 0755); err != nil {
149155
return nil, err
150156
}

0 commit comments

Comments
 (0)