diff options
| author | Maxime Coste <mawww@kakoune.org> | 2024-08-14 21:32:03 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2024-08-14 21:32:03 +1000 |
| commit | 203e3704d892f1eeac32fe35c97846f350184ec5 (patch) | |
| tree | 67f10addf13e88949b6d5477ec86105005a096ee /src | |
| parent | a553ed5aa16eb20832f3e0dcdf98a39fd96e9f4a (diff) | |
Fix json-ui scroll support
Add cursor coordinate parameters, and fix encoding to match the
new one.
Diffstat (limited to 'src')
| -rw-r--r-- | src/json_ui.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/json_ui.cc b/src/json_ui.cc index 9d694c56..7f645605 100644 --- a/src/json_ui.cc +++ b/src/json_ui.cc @@ -284,12 +284,12 @@ void JsonUI::eval_json(const Value& json) } else if (method == "scroll") { - if (params.size() != 1) - throw invalid_rpc_request("scroll needs an amount"); - else if (not params[0].is_a<int>()) - throw invalid_rpc_request("scroll amount is not an integer"); - m_on_key({Key::Modifiers::Scroll, (Codepoint)params[0].as<int>()}); - + if (params.size() != 3) + throw invalid_rpc_request("scroll needs an amount and coordinates"); + else if (not params[0].is_a<int>() or not params[1].is_a<int>() or not params[2].is_a<int>()) + throw invalid_rpc_request("scroll parameters are not integers"); + m_on_key({Key::Modifiers::Scroll | (Key::Modifiers)(params[0].as<int>() << 16), + encode_coord({params[1].as<int>(), params[2].as<int>()})}); } else if (method == "menu_select") { |
