From 6bad614f9eda0e84314a1ffade85e2d9e553a0fb Mon Sep 17 00:00:00 2001 From: Josh at WLTechBlog Date: Tue, 19 Aug 2025 13:09:50 -0500 Subject: [PATCH] standardize arguments --- client/client.go | 8 +++++++- main.go | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/client/client.go b/client/client.go index f4afc1f..b2ef381 100644 --- a/client/client.go +++ b/client/client.go @@ -616,7 +616,8 @@ func (c *Client) SwitchToIframe(tabID, selector string, timeout int) error { // SwitchToMain switches the context back to the main page // If tabID is empty, the current tab will be used -func (c *Client) SwitchToMain(tabID string) error { +// timeout is in seconds, 0 means no timeout +func (c *Client) SwitchToMain(tabID string, timeout int) error { params := map[string]string{} // Only include tab ID if it's provided @@ -624,6 +625,11 @@ func (c *Client) SwitchToMain(tabID string) error { params["tab"] = tabID } + // Add timeout if specified + if timeout > 0 { + params["timeout"] = strconv.Itoa(timeout) + } + resp, err := c.SendCommand("switch-main", params) if err != nil { return err diff --git a/main.go b/main.go index a9fdc1b..5479f29 100644 --- a/main.go +++ b/main.go @@ -124,6 +124,7 @@ func main() { // switch-main flags switchMainTabID := switchMainCmd.String("tab", "", "Tab ID to switch back to main context (optional, uses current tab if not specified)") + switchMainTimeout := switchMainCmd.Int("timeout", 5, "Timeout in seconds for switching back to main context") switchMainHost := switchMainCmd.String("host", "localhost", "Daemon host") switchMainPort := switchMainCmd.Int("port", 8989, "Daemon port") @@ -412,7 +413,7 @@ func main() { c := client.NewClient(*switchMainHost, *switchMainPort) // Switch back to main page - err := c.SwitchToMain(*switchMainTabID) + err := c.SwitchToMain(*switchMainTabID, *switchMainTimeout) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1)