From d0b7427efd954ede3692b9f257d3183817a800bf Mon Sep 17 00:00:00 2001 From: ShuheiKubota Date: Mon, 18 Nov 2019 12:59:18 +0900 Subject: [PATCH] fix: find console window --- vvin.go | 48 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/vvin.go b/vvin.go index 993de5b..6f5766e 100644 --- a/vvin.go +++ b/vvin.go @@ -48,30 +48,48 @@ func (c *globalCmd) Before() error { } an := ancestors() - t := strings.ToLower(c.Target) - for _, w := range wins { - ancestor := false + if c.Target == "" { + loopConsole: for _, p := range an { - if w.PID == p { - ancestor = true - break + for _, w := range wins { + if w.PID == p { + if c.Debug { + rog.Printf("win: %#v", w) + } + + c.targetHandle = w.Handle + break loopConsole + } } } + } else { + t := strings.ToLower(c.Target) - if c.Debug { - rog.Printf("win: %#v (ancestor? %v)", w, ancestor) - } - if t != "" && !ancestor { - wt := strings.ToLower(w.Title) + for _, w := range wins { + ancestor := false + for _, p := range an { + if w.PID == p { + ancestor = true + break + } + } - if strings.Contains(wt, t) { + if c.Debug { + rog.Printf("win: %#v (ancestor? %v)", w, ancestor) + } + + if t != "" && !ancestor { + wt := strings.ToLower(w.Title) + + if strings.Contains(wt, t) { + c.targetHandle = w.Handle + break + } + } else if t == "" && ancestor { c.targetHandle = w.Handle break } - } else if t == "" && ancestor { - c.targetHandle = w.Handle - break } }