package compact // Common helper functions import ( "fmt" ui "github.com/gizak/termui" ) const colSpacing = 1 // per-column width. 0 == auto width var colWidths = []int{ 3, // status 0, // name 0, // cid 0, // cpu 0, // memory 0, // net 0, // io 4, // pids } // Calculate per-column width, given total width func calcWidth(width int) int { spacing := colSpacing * len(colWidths) var staticCols int for _, w := range colWidths { width -= w if w == 0 { staticCols += 1 } } return (width - spacing) / staticCols } func centerParText(p *ui.Par) { var text string var padding string // strip existing left-padding for i, ch := range p.Text { if string(ch) != " " { text = p.Text[i:] break } } padlen := (p.InnerWidth() - len(text)) / 2 for i := 0; i < padlen; i++ { padding += " " } p.Text = fmt.Sprintf("%s%s", padding, text) }