diff --git a/gen/go_code.py b/gen/go_code.py index 8510f8e24..a608e6ed6 100755 --- a/gen/go_code.py +++ b/gen/go_code.py @@ -661,7 +661,7 @@ var QueryNames = []string{{ {query_names} }} var CommentedOutDefaultConfig = "{serialize_as_go_string(commented_out_default_config())}" var KittyConfigDefaults = struct {{ Term, Shell_integration, Select_by_word_characters, Url_excluded_characters, Shell string -Wheel_scroll_multiplier int +Wheel_scroll_multiplier float64 Url_prefixes []string }}{{ Term: "{Options.term}", Shell_integration: "{' '.join(Options.shell_integration)}", Url_prefixes: []string{{ {url_prefixes} }}, diff --git a/kittens/diff/mouse.go b/kittens/diff/mouse.go index 58e60a81a..89bcaf1ce 100644 --- a/kittens/diff/mouse.go +++ b/kittens/diff/mouse.go @@ -4,6 +4,7 @@ package diff import ( "fmt" + "math" "strconv" "strings" "sync" @@ -20,7 +21,7 @@ import ( var _ = fmt.Print type KittyOpts struct { - Wheel_scroll_multiplier int + Wheel_scroll_multiplier float64 Copy_on_select bool } @@ -29,7 +30,7 @@ func read_relevant_kitty_opts() KittyOpts { handle_line := func(key, val string) error { switch key { case "wheel_scroll_multiplier": - v, err := strconv.Atoi(val) + v, err := strconv.ParseFloat(val, 64) if err == nil { ans.Wheel_scroll_multiplier = v } @@ -47,7 +48,10 @@ var RelevantKittyOpts = sync.OnceValue(func() KittyOpts { }) func (self *Handler) handle_wheel_event(up bool) { - amt := RelevantKittyOpts().Wheel_scroll_multiplier + amt := int(math.Round(RelevantKittyOpts().Wheel_scroll_multiplier)) + if amt == 0 { + amt = 1 + } if up { amt *= -1 }