summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-03-15 20:40:28 -0400
committerDrew DeVault <sir@cmpwn.com>2019-03-15 20:40:28 -0400
commita729179f9fae4a89a0b65984263a7893fcab874a (patch)
treeed7dc46f8f1469513805d13a160fece944484637
parentf406bf5a3bb953426a00f2feac1f2863a29ab269 (diff)
downloadaerc-a729179f9fae4a89a0b65984263a7893fcab874a.tar.gz
Implement sidebar-width config option
-rw-r--r--config/config.go17
-rw-r--r--widgets/account.go2
-rw-r--r--widgets/aerc.go3
3 files changed, 12 insertions, 10 deletions
diff --git a/config/config.go b/config/config.go
index ff0e094..173d4af 100644
--- a/config/config.go
+++ b/config/config.go
@@ -11,14 +11,14 @@ import (
 )
 
 type UIConfig struct {
-	IndexFormat       string
-	TimestampFormat   string
+	IndexFormat       string   `ini:"index-format"`
+	TimestampFormat   string   `ini:"timestamp-format"`
 	ShowHeaders       []string `delim:","`
 	LoadingFrames     []string `delim:","`
-	RenderAccountTabs string
-	SidebarWidth      int
-	PreviewHeight     int
-	EmptyMessage      string
+	RenderAccountTabs string   `ini:"render-account-tabs"`
+	SidebarWidth      int      `ini:"sidebar-width"`
+	PreviewHeight     int      `ini:"preview-height"`
+	EmptyMessage      string   `ini:"empty-message"`
 }
 
 type AccountConfig struct {
@@ -114,7 +114,10 @@ func LoadConfig(root *string) (*AercConfig, error) {
 		},
 	}
 	if ui, err := file.GetSection("ui"); err == nil {
-		ui.MapTo(config.Ui)
+		if err := ui.MapTo(&config.Ui); err != nil {
+			return nil, err
+		}
+		fmt.Printf("%v\n", config.Ui)
 	}
 	if lbinds, err := file.GetSection("lbinds"); err == nil {
 		for key, value := range lbinds.KeysHash() {
diff --git a/widgets/account.go b/widgets/account.go
index f7b9f69..ecccd1b 100644
--- a/widgets/account.go
+++ b/widgets/account.go
@@ -41,7 +41,7 @@ func NewAccountView(conf *config.AercConfig, acct *config.AccountConfig,
 		{ui.SIZE_WEIGHT, 1},
 		{ui.SIZE_EXACT, 1},
 	}).Columns([]ui.GridSpec{
-		{ui.SIZE_EXACT, 20},
+		{ui.SIZE_EXACT, conf.Ui.SidebarWidth},
 		{ui.SIZE_WEIGHT, 1},
 	})
 	grid.AddChild(statusbar).At(1, 1)
diff --git a/widgets/aerc.go b/widgets/aerc.go
index e7f4583..6874600 100644
--- a/widgets/aerc.go
+++ b/widgets/aerc.go
@@ -26,11 +26,10 @@ func NewAerc(conf *config.AercConfig, logger *log.Logger,
 		{libui.SIZE_EXACT, 1},
 		{libui.SIZE_WEIGHT, 1},
 	}).Columns([]libui.GridSpec{
-		{libui.SIZE_EXACT, 20},
+		{libui.SIZE_EXACT, conf.Ui.SidebarWidth},
 		{libui.SIZE_WEIGHT, 1},
 	})
 
-	// TODO: Grab sidebar size from config and via :set command
 	mainGrid.AddChild(libui.NewText("aerc").
 		Strategy(libui.TEXT_CENTER).
 		Color(tcell.ColorBlack, tcell.ColorWhite))