mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2025-02-21 02:55:37 -08:00
43 lines
842 B
Go
43 lines
842 B
Go
package segments
|
|
|
|
import (
|
|
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
|
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
|
)
|
|
|
|
type SystemInfo struct {
|
|
props properties.Properties
|
|
env platform.Environment
|
|
|
|
Precision int
|
|
|
|
platform.SystemInfo
|
|
}
|
|
|
|
const (
|
|
// Precision number of decimal places to show
|
|
Precision properties.Property = "precision"
|
|
)
|
|
|
|
func (s *SystemInfo) Template() string {
|
|
return " {{ round .PhysicalPercentUsed .Precision }} "
|
|
}
|
|
|
|
func (s *SystemInfo) Enabled() bool {
|
|
if s.PhysicalPercentUsed == 0 && s.SwapPercentUsed == 0 {
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
|
|
func (s *SystemInfo) Init(props properties.Properties, env platform.Environment) {
|
|
s.props = props
|
|
s.env = env
|
|
s.Precision = s.props.GetInt(Precision, 2)
|
|
sysInfo, err := env.SystemInfo()
|
|
if err != nil {
|
|
return
|
|
}
|
|
s.SystemInfo = *sysInfo
|
|
}
|