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