From e5e84ee2060ca19ea69203b5b54d95d96a70b8ea Mon Sep 17 00:00:00 2001 From: Bradley Cicenas Date: Sun, 25 Dec 2016 23:05:22 +0000 Subject: [PATCH] default to all running containers if no arg provided --- grid.go | 2 +- main.go | 31 +++++++++++++++++++++++++------ widgets.go | 2 +- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/grid.go b/grid.go index 1d5f733..af53054 100644 --- a/grid.go +++ b/grid.go @@ -41,7 +41,7 @@ func header() *ui.Row { c1 := ui.NewPar(" CID") c1.Border = false c1.Height = 2 - c1.Width = 10 + c1.Width = 20 c1.TextFgColor = ui.ColorWhite //cpu diff --git a/main.go b/main.go index 4483506..e1b474f 100644 --- a/main.go +++ b/main.go @@ -1,17 +1,29 @@ package main import ( - "fmt" "os" "github.com/fsouza/go-dockerclient" ) -func main() { - if len(os.Args) < 2 { - fmt.Println("no container provided") - os.Exit(1) +func runningCIDs(client *docker.Client) (running []string) { + filters := make(map[string][]string) + filters["status"] = []string{"running"} + opts := docker.ListContainersOptions{ + Filters: filters, } + containers, err := client.ListContainers(opts) + if err != nil { + panic(err) + } + for _, c := range containers { + running = append(running, c.ID[:12]) + } + return running +} + +func main() { + var containers []string dockerhost := os.Getenv("DOCKER_HOST") if dockerhost == "" { @@ -23,8 +35,15 @@ func main() { panic(err) } + // Default to all running containers + if len(os.Args) < 2 { + containers = runningCIDs(client) + } else { + containers = os.Args[1:] + } + g := &Grid{make(map[string]*Container)} - for _, c := range os.Args[1:] { + for _, c := range containers { g.AddContainer(c) } diff --git a/widgets.go b/widgets.go index f9fdd13..acd3cea 100644 --- a/widgets.go +++ b/widgets.go @@ -34,7 +34,7 @@ func NewWidgets(id string) *Widgets { cid := ui.NewPar(id) cid.Border = false cid.Height = 1 - cid.Width = 10 + cid.Width = 20 cid.TextFgColor = ui.ColorWhite return &Widgets{cid, mkGauge(), mkGauge()} }