diff --git a/cointop/chart.go b/cointop/chart.go index 7566161..a6e7938 100644 --- a/cointop/chart.go +++ b/cointop/chart.go @@ -453,8 +453,8 @@ func (ct *Cointop) ShowChartLoader() error { func (ct *Cointop) ChartWidth() int { log.Debug("ChartWidth()") w := ct.Width() - max := 175 - if w > max { + max := int(ct.config.MaxChartWidth.(int64)) + if max > 0 && w > max { return max } diff --git a/cointop/cointop.go b/cointop/cointop.go index ebbd4b0..10a6e02 100644 --- a/cointop/cointop.go +++ b/cointop/cointop.go @@ -110,6 +110,7 @@ type Cointop struct { forceRefresh chan bool limiter <-chan time.Time maxTableWidth int + maxChartWidth int refreshMux sync.Mutex refreshTicker *time.Ticker saveMux sync.Mutex @@ -179,6 +180,12 @@ var DefaultCurrency = "USD" // DefaultChartRange ... var DefaultChartRange = "1Y" +// DefaultMaxTableWidth ... +var DefaultMaxTableWidth int = 175 + +// DefaultMaxChartWidth ... +var DefaultMaxChartWidth int = 175 + // DefaultSortBy ... var DefaultSortBy = "rank" @@ -230,7 +237,8 @@ func NewCointop(config *Config) (*Cointop, error) { apiChoice: CoinGecko, apiKeys: new(APIKeys), forceRefresh: make(chan bool), - maxTableWidth: 175, + maxTableWidth: DefaultMaxTableWidth, + maxChartWidth: DefaultMaxChartWidth, ActionsMap: ActionsMap(), cache: cache.New(1*time.Minute, 2*time.Minute), colorsDir: config.ColorsDir, diff --git a/cointop/config.go b/cointop/config.go index 055bf49..6e7f1f9 100644 --- a/cointop/config.go +++ b/cointop/config.go @@ -42,6 +42,8 @@ type ConfigFileConfig struct { Currency interface{} `toml:"currency"` DefaultView interface{} `toml:"default_view"` DefaultChartRange interface{} `toml:"default_chart_range"` + MaxTableWidth interface{} `toml:"max_table_width"` + MaxChartWidth interface{} `toml:"max_chart_width"` CoinMarketCap map[string]interface{} `toml:"coinmarketcap"` API interface{} `toml:"api"` Colorscheme interface{} `toml:"colorscheme"` @@ -264,6 +266,8 @@ func (ct *Cointop) ConfigToToml() ([]byte, error) { var currencyIfc interface{} = ct.State.currencyConversion var defaultViewIfc interface{} = ct.State.defaultView var defaultChartRangeIfc interface{} = ct.State.defaultChartRange + var maxTableWidth interface{} = ct.maxChartWidth + var maxChartWidth interface{} = ct.maxChartWidth var colorschemeIfc interface{} = ct.colorschemeName var refreshRateIfc interface{} = uint(ct.State.refreshRate.Seconds()) var cacheDirIfc interface{} = ct.State.cacheDir @@ -304,6 +308,8 @@ func (ct *Cointop) ConfigToToml() ([]byte, error) { Currency: currencyIfc, DefaultView: defaultViewIfc, DefaultChartRange: defaultChartRangeIfc, + MaxTableWidth: maxTableWidth, + MaxChartWidth: maxChartWidth, Favorites: favoritesMapIfc, RefreshRate: refreshRateIfc, Shortcuts: shortcutsIfcs,