diff --git a/app.go b/app.go index 81bd65e..cc769d8 100644 --- a/app.go +++ b/app.go @@ -136,6 +136,14 @@ func (app *app) loop() { clientChan := app.ui.readExpr() serverChan := readExpr() + if gCommand != "" { + p := newParser(strings.NewReader(gCommand)) + if e := p.parseExpr(); e != nil { + log.Printf("evaluating start command: %s", e.String()) + e.eval(app, nil) + } + } + for { select { case <-app.quitChan: diff --git a/main.go b/main.go index ce628f2..b922137 100644 --- a/main.go +++ b/main.go @@ -21,6 +21,7 @@ var ( gHostname string gLastDirPath string gSelectionPath string + gCommand string gSocketProt string gSocketPath string gLogPath string @@ -103,6 +104,11 @@ func main() { "", "path to the file to write selected files on open (to use as open file dialog)") + flag.StringVar(&gCommand, + "command", + "", + "command to execute on client initialization") + flag.Parse() gSocketProt = gDefaultSocketProt