package main import ( "log" "os" "go.i3wm.org/i3" ) func main() { recv := i3.Subscribe(i3.WorkspaceEventType) if len(os.Args) != 2 { log.Printf("[ERROR] Configuration required!") os.Exit(1) } config, err := LoadConfiguration(os.Args[1]) if err != nil { log.Printf("[ERROR] %s", err.Error()) os.Exit(1) } for recv.Next() { event := recv.Event().(*i3.WorkspaceEvent) if event.Change == "focus" { cmd, err := HandleFocusEvent(config) if err != nil { log.Printf("[ERROR] cmd=%s error=%s", cmd.String(), err.Error()) } else { log.Printf("[SUCCESS] cmd=%s", cmd.String()) } } } }