feat: allow user to set default screenMode

This commit is contained in:
rdkang 2023-01-04 12:47:14 +00:00 committed by Jesse Duffield
parent 17fcdb2b20
commit 1d48fade01
3 changed files with 20 additions and 0 deletions

View file

@ -36,6 +36,8 @@ gui:
# When true, increases vertical space used by focused side panel,
# creating an accordion effect
expandFocusedSidePanel: false
# Determines which screen mode will be used on startup
screenMode: "normal" # one of 'normal' | 'half' | 'fullscreen'
logs:
timestamps: false
since: '60m' # set to '' to show all logs

View file

@ -130,6 +130,9 @@ type GuiConfig struct {
// When true, increases vertical space used by focused side panel,
// creating an accordion effect
ExpandFocusedSidePanel bool `yaml:"expandFocusedSidePanel"`
// ScreenMode allow user to specify which screen mode will be used on startup
ScreenMode string `yaml:"screenMode,omitempty"`
}
// CommandTemplatesConfig determines what commands actually get called when we
@ -359,6 +362,7 @@ func GetDefaultConfig() UserConfig {
SidePanelWidth: 0.3333,
ShowBottomLine: true,
ExpandFocusedSidePanel: false,
ScreenMode: "normal",
},
ConfirmOnQuit: false,
Logs: LogsConfig{

View file

@ -113,6 +113,19 @@ const (
SCREEN_FULL
)
func getScreenMode(config *config.AppConfig) WindowMaximisation {
switch config.UserConfig.Gui.ScreenMode {
case "normal":
return SCREEN_NORMAL
case "half":
return SCREEN_HALF
case "fullscreen":
return SCREEN_FULL
default:
return SCREEN_NORMAL
}
}
// NewGui builds a new gui handler
func NewGui(log *logrus.Entry, dockerCommand *commands.DockerCommand, oSCommand *commands.OSCommand, tr *i18n.TranslationSet, config *config.AppConfig, errorChan chan error) (*Gui, error) {
initialState := guiState{
@ -125,6 +138,7 @@ func NewGui(log *logrus.Entry, dockerCommand *commands.DockerCommand, oSCommand
ViewStack: []string{},
ShowExitedContainers: true,
ScreenMode: getScreenMode(config),
}
gui := &Gui{