From 288a07eb737a90db57b9db40265318fbd6581cec Mon Sep 17 00:00:00 2001 From: Anna Rose Wiggins Date: Fri, 4 Jul 2025 12:57:01 -0400 Subject: [PATCH] Make modeless operation work more cleanly / remove implicit "main" mode. --- cmd/joyful/main.go | 2 +- internal/config/configparser.go | 7 +++++-- internal/config/rules.go | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cmd/joyful/main.go b/cmd/joyful/main.go index 87748c2..d687251 100644 --- a/cmd/joyful/main.go +++ b/cmd/joyful/main.go @@ -81,7 +81,7 @@ func main() { logger.Logf("registered %d timers", timerCount) // initialize the mode variable - mode := "main" + mode := config.GetModes()[0] fmt.Println("Joyful Running! Press Ctrl+C to quit.") for { diff --git a/internal/config/configparser.go b/internal/config/configparser.go index 33d2df1..564c00d 100644 --- a/internal/config/configparser.go +++ b/internal/config/configparser.go @@ -69,6 +69,9 @@ func (parser *ConfigParser) Parse(directory string) error { return nil } -func (parser *ConfigParser) getModes() []string { - return append([]string{"main"}, parser.config.Modes...) +func (parser *ConfigParser) GetModes() []string { + if len(parser.config.Modes) == 0 { + return []string{"*"} + } + return parser.config.Modes } diff --git a/internal/config/rules.go b/internal/config/rules.go index caab802..dd8fba4 100644 --- a/internal/config/rules.go +++ b/internal/config/rules.go @@ -17,7 +17,7 @@ import ( // For very large rule-bases this may be helpful for staying performant. func (parser *ConfigParser) BuildRules(pDevs map[string]*evdev.InputDevice, vDevs map[string]*evdev.InputDevice) []mappingrules.MappingRule { rules := make([]mappingrules.MappingRule, 0) - modes := parser.getModes() + modes := parser.GetModes() for _, ruleConfig := range parser.config.Rules { var newRule mappingrules.MappingRule