Merge branch 'scroll-wayland' of https://github.com/maximbaz/kitty

This commit is contained in:
Kovid Goyal 2018-11-11 12:03:39 +05:30
commit 05ee01b4dd
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
5 changed files with 14 additions and 1 deletions

View File

@ -26,6 +26,9 @@ Changelog
- Allow private use unicode characters to stretch over more than a single - Allow private use unicode characters to stretch over more than a single
neighboring space (:pull:`1036`) neighboring space (:pull:`1036`)
- Add a new :opt:`touch_scroll_multiplier` option to modify the amount
scrolled by high precision scrolling devices such as touchpads (:pull:`1129`)
- icat kitten: Implement reading image data from STDIN, if STDIN is not - icat kitten: Implement reading image data from STDIN, if STDIN is not
connected to a terminal (:iss:`1130`) connected to a terminal (:iss:`1130`)

View File

@ -354,6 +354,14 @@ o('wheel_scroll_multiplier', 5.0, long_text=_('''
Modify the amount scrolled by the mouse wheel. Note this is only used for low Modify the amount scrolled by the mouse wheel. Note this is only used for low
precision scrolling devices, not for high precision scrolling on platforms such precision scrolling devices, not for high precision scrolling on platforms such
as macOS and Wayland. Use negative numbers to change scroll direction.''')) as macOS and Wayland. Use negative numbers to change scroll direction.'''))
o('touch_scroll_multiplier', 1.0, long_text=_('''
Modify the amount scrolled by a touchpad. Note this is only used for high
precision scrolling devices on platforms such as macOS and Wayland.
Use negative numbers to change scroll direction.'''))
# }}}
# }}} # }}}
g('mouse') # {{{ g('mouse') # {{{

View File

@ -549,6 +549,7 @@ scroll_event(double UNUSED xoffset, double yoffset, int flags) {
int s; int s;
bool is_high_resolution = flags & 1; bool is_high_resolution = flags & 1;
if (is_high_resolution) { if (is_high_resolution) {
yoffset *= OPT(touch_scroll_multiplier);
if (yoffset * global_state.callback_os_window->pending_scroll_pixels < 0) { if (yoffset * global_state.callback_os_window->pending_scroll_pixels < 0) {
global_state.callback_os_window->pending_scroll_pixels = 0; // change of direction global_state.callback_os_window->pending_scroll_pixels = 0; // change of direction
} }

View File

@ -374,6 +374,7 @@ PYWRAP1(set_options) {
S(tab_bar_edge, PyLong_AsLong); S(tab_bar_edge, PyLong_AsLong);
S(mouse_hide_wait, PyFloat_AsDouble); S(mouse_hide_wait, PyFloat_AsDouble);
S(wheel_scroll_multiplier, PyFloat_AsDouble); S(wheel_scroll_multiplier, PyFloat_AsDouble);
S(touch_scroll_multiplier, PyFloat_AsDouble);
S(open_url_modifiers, convert_mods); S(open_url_modifiers, convert_mods);
S(rectangle_select_modifiers, convert_mods); S(rectangle_select_modifiers, convert_mods);
S(click_interval, PyFloat_AsDouble); S(click_interval, PyFloat_AsDouble);

View File

@ -13,7 +13,7 @@
typedef enum { LEFT_EDGE, TOP_EDGE, RIGHT_EDGE, BOTTOM_EDGE } Edge; typedef enum { LEFT_EDGE, TOP_EDGE, RIGHT_EDGE, BOTTOM_EDGE } Edge;
typedef struct { typedef struct {
double visual_bell_duration, cursor_blink_interval, cursor_stop_blinking_after, mouse_hide_wait, click_interval, wheel_scroll_multiplier; double visual_bell_duration, cursor_blink_interval, cursor_stop_blinking_after, mouse_hide_wait, click_interval, wheel_scroll_multiplier, touch_scroll_multiplier;
bool enable_audio_bell; bool enable_audio_bell;
CursorShape cursor_shape; CursorShape cursor_shape;
unsigned int open_url_modifiers; unsigned int open_url_modifiers;