diff --git a/appui/swarm/node_tasks.go b/appui/swarm/node_tasks.go index 9eec73ea..09dbc435 100644 --- a/appui/swarm/node_tasks.go +++ b/appui/swarm/node_tasks.go @@ -163,7 +163,7 @@ func taskTableHeader() *termui.TableHeader { header.AddColumn(fields[2]) header.AddColumn(fields[3]) header.AddFixedWidthColumn(fields[4], 13) - header.AddColumn(fields[5]) + header.AddFixedWidthColumn(fields[5], 22) header.AddColumn(fields[6]) header.AddColumn(fields[7]) diff --git a/appui/swarm/task_row.go b/appui/swarm/task_row.go index f29eb146..4e090bda 100644 --- a/appui/swarm/task_row.go +++ b/appui/swarm/task_row.go @@ -52,6 +52,7 @@ func NewTaskRow(swarmClient docker.SwarmAPI, task swarm.Task, table drytermui.Ta row.Error, row.Ports, } + updateStateColumns(row) return row @@ -75,3 +76,18 @@ func (row *TaskRow) changeTextColor(fg, bg termui.Attribute) { row.ID.TextFgColor = fg row.ID.TextBgColor = bg } + +//updateStateColumns changes the color of state-related column depending +//on the task state +func updateStateColumns(row *TaskRow) { + var color termui.Attribute + if row.DesiredState.Text == "Running" { + color = appui.Running + } else { + color = appui.NotRunning + } + row.DesiredState.TextFgColor = color + row.CurrentState.TextFgColor = color + row.Error.TextFgColor = color + +} diff --git a/appui/theme.go b/appui/theme.go index fdc12574..d14f04c5 100644 --- a/appui/theme.go +++ b/appui/theme.go @@ -1,6 +1,14 @@ package appui -import "github.com/moncho/dry/ui" +import ( + "github.com/gizak/termui" + "github.com/moncho/dry/ui" +) + +const ( + Running = termui.Attribute(ui.Color108) + NotRunning = termui.Attribute(ui.Color161) +) //Default16 default theme for 16-color mode var Default16 = &ui.ColorTheme{