diff options
| author | hhvn <dev@hhvn.uk> | 2023-12-30 14:16:02 +0000 |
|---|---|---|
| committer | hhvn <dev@hhvn.uk> | 2023-12-30 14:16:02 +0000 |
| commit | 0e385d244de19900df25f1c88f29c3cece6106cb (patch) | |
| tree | e0e071b31f8f6327da2dd653fc00f26d09981826 /bspc | |
| parent | 17227e7c4be855b3129d58918e59594a2980e2fc (diff) | |
Create bspc.Cmd() function
Diffstat (limited to 'bspc')
| -rw-r--r-- | bspc/bspc.go | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/bspc/bspc.go b/bspc/bspc.go index 2e3d699..eb0ea01 100644 --- a/bspc/bspc.go +++ b/bspc/bspc.go @@ -1,8 +1,9 @@ package bspc // import "hhvn.uk/hbspbar/bspc" import ( - "fmt" "io" + "fmt" + "time" "bufio" "strings" "os/exec" @@ -36,24 +37,8 @@ type Monitor struct { } func (m *Monitor) TopPadding(px uint) { - cmd := exec.Command("bspc", "config", - "-m", fmt.Sprintf("%d", m.ID), - "top_padding", fmt.Sprintf("%d", px)) - - pipe, _ := cmd.StderrPipe() - scan := bufio.NewScanner(pipe) - - cmd.Start() - - for scan.Scan() { - common.Error("%s\n", scan.Text()) - } - - if err := scan.Err(); err != nil { - common.Perror("scan.Err", err) - } - - cmd.Wait() + Cmd("config", "-m", fmt.Sprintf("%d", m.ID), + "top_padding", fmt.Sprintf("%d", px)) } type Rect struct { @@ -207,6 +192,27 @@ func init() { }}() } +func Cmd(args ...string) { + cmd := exec.Command("bspc", args...) + + pipe, _ := cmd.StderrPipe() + scan := bufio.NewScanner(pipe) + startt := time.Now() + + cmd.Start() + + for scan.Scan() { + common.Error("[Started %v] `bspc %v`: %v\n", + startt.Format("15:04:05.00"), args, scan.Text()) + } + + if err := scan.Err(); err != nil { + common.Perror("scan.Err", err) + } + + cmd.Wait() +} + func Cleanup() { Handle.cmd.Process.Kill() } |