aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/aerc.go
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/aerc.go')
-rw-r--r--widgets/aerc.go19
1 files changed, 12 insertions, 7 deletions
diff --git a/widgets/aerc.go b/widgets/aerc.go
index ca82ee28..97e3c663 100644
--- a/widgets/aerc.go
+++ b/widgets/aerc.go
@@ -229,25 +229,30 @@ func (aerc *Aerc) getBindings() *config.KeyBindings {
}
switch view := aerc.SelectedTabContent().(type) {
case *AccountView:
- binds := aerc.conf.MergeContextualBinds(aerc.conf.Bindings.MessageList, config.BIND_CONTEXT_ACCOUNT, selectedAccountName, "messages")
- return aerc.conf.MergeContextualBinds(binds, config.BIND_CONTEXT_FOLDER, view.SelectedDirectory(), "messages")
+ binds := aerc.conf.Bindings.MessageList.ForAccount(selectedAccountName)
+ return binds.ForFolder(view.SelectedDirectory())
case *AccountWizard:
return aerc.conf.Bindings.AccountWizard
case *Composer:
switch view.Bindings() {
case "compose::editor":
- return aerc.conf.MergeContextualBinds(aerc.conf.Bindings.ComposeEditor, config.BIND_CONTEXT_ACCOUNT, selectedAccountName, "compose::editor")
+ return aerc.conf.Bindings.ComposeEditor.ForAccount(
+ selectedAccountName)
case "compose::review":
- return aerc.conf.MergeContextualBinds(aerc.conf.Bindings.ComposeReview, config.BIND_CONTEXT_ACCOUNT, selectedAccountName, "compose::review")
+ return aerc.conf.Bindings.ComposeReview.ForAccount(
+ selectedAccountName)
default:
- return aerc.conf.MergeContextualBinds(aerc.conf.Bindings.Compose, config.BIND_CONTEXT_ACCOUNT, selectedAccountName, "compose")
+ return aerc.conf.Bindings.Compose.ForAccount(
+ selectedAccountName)
}
case *MessageViewer:
switch view.Bindings() {
case "view::passthrough":
- return aerc.conf.MergeContextualBinds(aerc.conf.Bindings.MessageViewPassthrough, config.BIND_CONTEXT_ACCOUNT, selectedAccountName, "view::passthrough")
+ return aerc.conf.Bindings.MessageViewPassthrough.ForAccount(
+ selectedAccountName)
default:
- return aerc.conf.MergeContextualBinds(aerc.conf.Bindings.MessageView, config.BIND_CONTEXT_ACCOUNT, selectedAccountName, "view")
+ return aerc.conf.Bindings.MessageView.ForAccount(
+ selectedAccountName)
}
case *Terminal:
return aerc.conf.Bindings.Terminal