Option to hide logo (#1026)
parent
552a3e39c4
commit
e2866adcb5
|
|
@ -108,6 +108,7 @@ func loadConfiguration() *config.Config {
|
||||||
}
|
}
|
||||||
|
|
||||||
k9sCfg.K9s.OverrideHeadless(*k9sFlags.Headless)
|
k9sCfg.K9s.OverrideHeadless(*k9sFlags.Headless)
|
||||||
|
k9sCfg.K9s.OverrideLogoless(*k9sFlags.Logoless)
|
||||||
k9sCfg.K9s.OverrideCrumbsless(*k9sFlags.Crumbsless)
|
k9sCfg.K9s.OverrideCrumbsless(*k9sFlags.Crumbsless)
|
||||||
k9sCfg.K9s.OverrideReadOnly(*k9sFlags.ReadOnly)
|
k9sCfg.K9s.OverrideReadOnly(*k9sFlags.ReadOnly)
|
||||||
k9sCfg.K9s.OverrideWrite(*k9sFlags.Write)
|
k9sCfg.K9s.OverrideWrite(*k9sFlags.Write)
|
||||||
|
|
@ -180,6 +181,12 @@ func initK9sFlags() {
|
||||||
false,
|
false,
|
||||||
"Turn K9s header off",
|
"Turn K9s header off",
|
||||||
)
|
)
|
||||||
|
rootCmd.Flags().BoolVar(
|
||||||
|
k9sFlags.Logoless,
|
||||||
|
"logoless",
|
||||||
|
false,
|
||||||
|
"Turn K9s logo off",
|
||||||
|
)
|
||||||
rootCmd.Flags().BoolVar(
|
rootCmd.Flags().BoolVar(
|
||||||
k9sFlags.Crumbsless,
|
k9sFlags.Crumbsless,
|
||||||
"crumbsless",
|
"crumbsless",
|
||||||
|
|
|
||||||
|
|
@ -264,6 +264,7 @@ var expectedConfig = `k9s:
|
||||||
maxConnRetry: 5
|
maxConnRetry: 5
|
||||||
enableMouse: false
|
enableMouse: false
|
||||||
headless: false
|
headless: false
|
||||||
|
logoless: false
|
||||||
crumbsless: false
|
crumbsless: false
|
||||||
readOnly: true
|
readOnly: true
|
||||||
noIcons: false
|
noIcons: false
|
||||||
|
|
@ -347,6 +348,7 @@ var resetConfig = `k9s:
|
||||||
maxConnRetry: 5
|
maxConnRetry: 5
|
||||||
enableMouse: false
|
enableMouse: false
|
||||||
headless: false
|
headless: false
|
||||||
|
logoless: false
|
||||||
crumbsless: false
|
crumbsless: false
|
||||||
readOnly: false
|
readOnly: false
|
||||||
noIcons: false
|
noIcons: false
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ type Flags struct {
|
||||||
RefreshRate *int
|
RefreshRate *int
|
||||||
LogLevel *string
|
LogLevel *string
|
||||||
Headless *bool
|
Headless *bool
|
||||||
|
Logoless *bool
|
||||||
Command *string
|
Command *string
|
||||||
AllNamespaces *bool
|
AllNamespaces *bool
|
||||||
ReadOnly *bool
|
ReadOnly *bool
|
||||||
|
|
@ -29,6 +30,7 @@ func NewFlags() *Flags {
|
||||||
RefreshRate: intPtr(DefaultRefreshRate),
|
RefreshRate: intPtr(DefaultRefreshRate),
|
||||||
LogLevel: strPtr(DefaultLogLevel),
|
LogLevel: strPtr(DefaultLogLevel),
|
||||||
Headless: boolPtr(false),
|
Headless: boolPtr(false),
|
||||||
|
Logoless: boolPtr(false),
|
||||||
Command: strPtr(DefaultCommand),
|
Command: strPtr(DefaultCommand),
|
||||||
AllNamespaces: boolPtr(false),
|
AllNamespaces: boolPtr(false),
|
||||||
ReadOnly: boolPtr(false),
|
ReadOnly: boolPtr(false),
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ type K9s struct {
|
||||||
MaxConnRetry int `yaml:"maxConnRetry"`
|
MaxConnRetry int `yaml:"maxConnRetry"`
|
||||||
EnableMouse bool `yaml:"enableMouse"`
|
EnableMouse bool `yaml:"enableMouse"`
|
||||||
Headless bool `yaml:"headless"`
|
Headless bool `yaml:"headless"`
|
||||||
|
Logoless bool `yaml:"logoless"`
|
||||||
Crumbsless bool `yaml:"crumbsless"`
|
Crumbsless bool `yaml:"crumbsless"`
|
||||||
ReadOnly bool `yaml:"readOnly"`
|
ReadOnly bool `yaml:"readOnly"`
|
||||||
NoIcons bool `yaml:"noIcons"`
|
NoIcons bool `yaml:"noIcons"`
|
||||||
|
|
@ -25,6 +26,7 @@ type K9s struct {
|
||||||
Thresholds Threshold `yaml:"thresholds"`
|
Thresholds Threshold `yaml:"thresholds"`
|
||||||
manualRefreshRate int
|
manualRefreshRate int
|
||||||
manualHeadless *bool
|
manualHeadless *bool
|
||||||
|
manualLogoless *bool
|
||||||
manualCrumbsless *bool
|
manualCrumbsless *bool
|
||||||
manualReadOnly *bool
|
manualReadOnly *bool
|
||||||
manualCommand *string
|
manualCommand *string
|
||||||
|
|
@ -51,7 +53,12 @@ func (k *K9s) OverrideHeadless(b bool) {
|
||||||
k.manualHeadless = &b
|
k.manualHeadless = &b
|
||||||
}
|
}
|
||||||
|
|
||||||
// OverrideCrumbsless set the headlessness manually.
|
// OverrideLogoless set the logolessness manually.
|
||||||
|
func (k *K9s) OverrideLogoless(b bool) {
|
||||||
|
k.manualLogoless = &b
|
||||||
|
}
|
||||||
|
|
||||||
|
// OverrideCrumbsless set the crumbslessness manually.
|
||||||
func (k *K9s) OverrideCrumbsless(b bool) {
|
func (k *K9s) OverrideCrumbsless(b bool) {
|
||||||
k.manualCrumbsless = &b
|
k.manualCrumbsless = &b
|
||||||
}
|
}
|
||||||
|
|
@ -86,6 +93,16 @@ func (k *K9s) IsHeadless() bool {
|
||||||
return h
|
return h
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsLogoless returns logoless setting.
|
||||||
|
func (k *K9s) IsLogoless() bool {
|
||||||
|
h := k.Logoless
|
||||||
|
if k.manualLogoless != nil && *k.manualLogoless {
|
||||||
|
h = *k.manualLogoless
|
||||||
|
}
|
||||||
|
|
||||||
|
return h
|
||||||
|
}
|
||||||
|
|
||||||
// IsCrumbsless returns crumbsless setting.
|
// IsCrumbsless returns crumbsless setting.
|
||||||
func (k *K9s) IsCrumbsless() bool {
|
func (k *K9s) IsCrumbsless() bool {
|
||||||
h := k.Crumbsless
|
h := k.Crumbsless
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ type App struct {
|
||||||
filterHistory *model.History
|
filterHistory *model.History
|
||||||
conRetry int32
|
conRetry int32
|
||||||
showHeader bool
|
showHeader bool
|
||||||
|
showLogo bool
|
||||||
showCrumbs bool
|
showCrumbs bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -135,7 +136,7 @@ func (a *App) layout(ctx context.Context) {
|
||||||
|
|
||||||
a.Main.AddPage("main", main, true, false)
|
a.Main.AddPage("main", main, true, false)
|
||||||
a.Main.AddPage("splash", ui.NewSplash(a.Styles, a.version), true, true)
|
a.Main.AddPage("splash", ui.NewSplash(a.Styles, a.version), true, true)
|
||||||
a.toggleHeader(!a.Config.K9s.IsHeadless())
|
a.toggleHeader(!a.Config.K9s.IsHeadless(), !a.Config.K9s.IsLogoless())
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) initSignals() {
|
func (a *App) initSignals() {
|
||||||
|
|
@ -197,8 +198,9 @@ func (a *App) ActiveView() model.Component {
|
||||||
return a.Content.GetPrimitive("main").(model.Component)
|
return a.Content.GetPrimitive("main").(model.Component)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) toggleHeader(flag bool) {
|
func (a *App) toggleHeader(header, logo bool) {
|
||||||
a.showHeader = flag
|
a.showHeader = header
|
||||||
|
a.showLogo = logo
|
||||||
flex, ok := a.Main.GetPrimitive("main").(*tview.Flex)
|
flex, ok := a.Main.GetPrimitive("main").(*tview.Flex)
|
||||||
if !ok {
|
if !ok {
|
||||||
log.Fatal().Msg("Expecting valid flex view")
|
log.Fatal().Msg("Expecting valid flex view")
|
||||||
|
|
@ -245,7 +247,10 @@ func (a *App) buildHeader() tview.Primitive {
|
||||||
}
|
}
|
||||||
header.AddItem(a.clusterInfo(), clWidth, 1, false)
|
header.AddItem(a.clusterInfo(), clWidth, 1, false)
|
||||||
header.AddItem(a.Menu(), 0, 1, false)
|
header.AddItem(a.Menu(), 0, 1, false)
|
||||||
header.AddItem(a.Logo(), 26, 1, false)
|
|
||||||
|
if a.showLogo {
|
||||||
|
header.AddItem(a.Logo(), 26, 1, false)
|
||||||
|
}
|
||||||
|
|
||||||
return header
|
return header
|
||||||
}
|
}
|
||||||
|
|
@ -524,7 +529,7 @@ func (a *App) toggleHeaderCmd(evt *tcell.EventKey) *tcell.EventKey {
|
||||||
|
|
||||||
a.QueueUpdateDraw(func() {
|
a.QueueUpdateDraw(func() {
|
||||||
a.showHeader = !a.showHeader
|
a.showHeader = !a.showHeader
|
||||||
a.toggleHeader(a.showHeader)
|
a.toggleHeader(a.showHeader, a.showLogo)
|
||||||
})
|
})
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue