@@ -42,20 +42,23 @@ func main() {
42
42
43
43
cmd := exec .CommandContext (ctx , backrest )
44
44
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
+
45
56
if err := cmd .Start (); err != nil {
46
57
reportError (err )
47
58
cancel ()
48
59
return
49
60
}
50
61
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
-
59
62
systray .Run (func () {
60
63
systray .SetTitle ("Backrest Tray" )
61
64
systray .SetTooltip ("Manage backrest" )
@@ -73,7 +76,7 @@ func main() {
73
76
}()
74
77
75
78
// 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" )
77
80
mOpenLog .ClickedCh = make (chan struct {})
78
81
go func () {
79
82
for range mOpenLog .ClickedCh {
@@ -84,7 +87,7 @@ func main() {
84
87
}()
85
88
86
89
// 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" )
88
91
mQuit .ClickedCh = make (chan struct {})
89
92
go func () {
90
93
<- mQuit .ClickedCh
@@ -97,7 +100,9 @@ func main() {
97
100
98
101
if err := cmd .Wait (); err != nil {
99
102
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
+ }
101
106
return
102
107
}
103
108
}
@@ -145,6 +150,7 @@ func reportError(err error) {
145
150
146
151
func createLogWriter () (io.WriteCloser , error ) {
147
152
logsDir := logsPath ()
153
+ fmt .Printf ("Logging to %s\n " , logsDir )
148
154
if err := os .MkdirAll (logsDir , 0755 ); err != nil {
149
155
return nil , err
150
156
}
0 commit comments