mirror of
https://github.com/bcicen/ctop.git
synced 2024-08-30 18:23:19 +00:00
61 lines
1.0 KiB
Go
61 lines
1.0 KiB
Go
|
package compact
|
||
|
|
||
|
// Common helper functions
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
ui "github.com/gizak/termui"
|
||
|
)
|
||
|
|
||
|
// Calculate per-column width, given total width and number of items
|
||
|
func calcWidth(width, items int) int {
|
||
|
spacing := colSpacing * items
|
||
|
return (width - statusWidth - spacing) / items
|
||
|
}
|
||
|
|
||
|
func slimHeaderPar(s string) *ui.Par {
|
||
|
p := slimPar(s)
|
||
|
p.Y = 2
|
||
|
p.Height = 2
|
||
|
return p
|
||
|
}
|
||
|
|
||
|
func slimPar(s string) *ui.Par {
|
||
|
p := ui.NewPar(s)
|
||
|
p.Border = false
|
||
|
p.Height = 1
|
||
|
p.Width = 20
|
||
|
p.TextFgColor = ui.ColorWhite
|
||
|
return p
|
||
|
}
|
||
|
|
||
|
func slimGauge() *ui.Gauge {
|
||
|
g := ui.NewGauge()
|
||
|
g.Height = 1
|
||
|
g.Border = false
|
||
|
g.Percent = 0
|
||
|
g.PaddingBottom = 0
|
||
|
g.BarColor = ui.ColorGreen
|
||
|
g.Label = "-"
|
||
|
return g
|
||
|
}
|
||
|
|
||
|
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)
|
||
|
}
|