From dbf2bced5ef5b9b6e6ae7f9783c2c8c942f93a70 Mon Sep 17 00:00:00 2001 From: Scott McKendry <39483124+scottmckendry@users.noreply.github.com> Date: Tue, 7 May 2024 06:32:14 +1200 Subject: [PATCH] feat: support for different border styles --- pkg/config/app_config.go | 4 ++++ pkg/gui/views.go | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/pkg/config/app_config.go b/pkg/config/app_config.go index d35a244d..6ee73bb8 100644 --- a/pkg/config/app_config.go +++ b/pkg/config/app_config.go @@ -138,6 +138,10 @@ type GuiConfig struct { // containers panel. "long": full words (default), "short": one or two characters, // "icon": unicode emoji. ContainerStatusHealthStyle string `yaml:"containerStatusHealthStyle"` + + // Window border style. + // One of 'single' (default) | 'rounded' | 'double' | 'hidden' + Border string `yaml:"border"` } // CommandTemplatesConfig determines what commands actually get called when we diff --git a/pkg/gui/views.go b/pkg/gui/views.go index 8cadf3c7..865496f3 100644 --- a/pkg/gui/views.go +++ b/pkg/gui/views.go @@ -92,12 +92,23 @@ func (gui *Gui) orderedViewNameMappings() []viewNameMapping { } func (gui *Gui) createAllViews() error { + frameRunes := []rune{'─', '│', '┌', '┐', '└', '┘'} + switch gui.Config.UserConfig.Gui.Border { + case "double": + frameRunes = []rune{'═', '║', '╔', '╗', '╚', '╝'} + case "rounded": + frameRunes = []rune{'─', '│', '╭', '╮', '╰', '╯'} + case "hidden": + frameRunes = []rune{' ', ' ', ' ', ' ', ' ', ' '} + } + var err error for _, mapping := range gui.orderedViewNameMappings() { *mapping.viewPtr, err = gui.prepareView(mapping.name) if err != nil && err.Error() != UNKNOWN_VIEW_ERROR_MSG { return err } + (*mapping.viewPtr).FrameRunes = frameRunes (*mapping.viewPtr).FgColor = gocui.ColorDefault }