mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-17 05:54:59 +02:00
Merge branch 'master' of https://github.com/pakhromov/kitty
This commit is contained in:
@@ -50,11 +50,15 @@ update_cursor_trail_target(CursorTrail *ct, Window *w, ndc_coords g) {
|
||||
}
|
||||
|
||||
static bool
|
||||
should_skip_cursor_trail_update(CursorTrail *ct, ndc_coords g, OSWindow *os_window) {
|
||||
should_skip_cursor_trail_update(CursorTrail *ct, ndc_coords g, OSWindow *os_window, Window *w) {
|
||||
if (os_window->live_resize.in_progress) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!WD.screen->modes.mDECTCEM && ct->opacity <= 0.0f) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((OPT(cursor_trail_start_threshold_x) > 0 || OPT(cursor_trail_start_threshold_y) > 0) && !ct->needs_render) {
|
||||
int dx = (int)round((ct->corner_x[0] - EDGE(x, 1)) / g.dx);
|
||||
int dy = (int)round((ct->corner_y[0] - EDGE(y, 0)) / g.dy);
|
||||
@@ -66,7 +70,7 @@ should_skip_cursor_trail_update(CursorTrail *ct, ndc_coords g, OSWindow *os_wind
|
||||
}
|
||||
|
||||
static void
|
||||
update_cursor_trail_corners(CursorTrail *ct, ndc_coords g, monotonic_t now, OSWindow *os_window) {
|
||||
update_cursor_trail_corners(CursorTrail *ct, ndc_coords g, monotonic_t now, OSWindow *os_window, Window *w) {
|
||||
// the trail corners move towards the cursor corner at a speed proportional to their distance from the cursor corner.
|
||||
// equivalent to exponential ease out animation.
|
||||
static const int corner_index[2][4] = {{1, 1, 0, 0}, {0, 1, 1, 0}};
|
||||
@@ -75,7 +79,7 @@ update_cursor_trail_corners(CursorTrail *ct, ndc_coords g, monotonic_t now, OSWi
|
||||
float decay_fast = OPT(cursor_trail_decay_fast);
|
||||
float decay_slow = OPT(cursor_trail_decay_slow);
|
||||
|
||||
if (should_skip_cursor_trail_update(ct, g, os_window)) {
|
||||
if (should_skip_cursor_trail_update(ct, g, os_window, w)) {
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
ct->corner_x[i] = EDGE(x, corner_index[0][i]);
|
||||
ct->corner_y[i] = EDGE(y, corner_index[1][i]);
|
||||
@@ -169,7 +173,7 @@ update_cursor_trail(CursorTrail *ct, Window *w, monotonic_t now, OSWindow *os_wi
|
||||
update_cursor_trail_target(ct, w, g);
|
||||
}
|
||||
|
||||
update_cursor_trail_corners(ct, g, now, os_window);
|
||||
update_cursor_trail_corners(ct, g, now, os_window, w);
|
||||
update_cursor_trail_opacity(ct, w, now);
|
||||
|
||||
bool needs_render_prev = ct->needs_render;
|
||||
|
||||
Reference in New Issue
Block a user