Skip to content

Commit 71ebd37

Browse files
committed
Make scrolling in different tabs possible
1 parent 7295074 commit 71ebd37

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

kitty/child-monitor.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -630,26 +630,25 @@ render_os_window(OSWindow *os_window, double now, unsigned int active_window_id,
630630
x_ratio = os_window->viewport_width / (double) os_window->live_resize.width;
631631
y_ratio = os_window->viewport_height / (double) os_window->live_resize.height;
632632
}
633-
before_render();
634633
if (!static_live_resize_in_progress) {
635634
draw_borders(br->vao_idx, br->num_border_rects, br->rect_buf, br->is_dirty, os_window->viewport_width, os_window->viewport_height, active_window_bg, num_visible_windows, os_window);
636635
br->is_dirty = false;
637636
}
638-
double pixels = 0.0;
639637
for (unsigned int i = 0; i < tab->num_windows; i++) {
640638
Window *w = tab->windows + i;
641639
if (w->visible && WD.screen) {
642-
pixels = get_scrolled_by_pixels(WD.screen);
640+
before_render();
643641
bool is_active_window = i == tab->active_window;
644642
draw_cells(WD.vao_idx, WD.gvao_idx, WD.xstart, WD.ystart, WD.dx * x_ratio, WD.dy * y_ratio, WD.screen, os_window, is_active_window, true);
645643
if (WD.screen->start_visual_bell_at != 0) {
646644
double bell_left = global_state.opts.visual_bell_duration - (now - WD.screen->start_visual_bell_at);
647645
set_maximum_wait(bell_left);
648646
}
647+
double pixels = get_scrolled_by_pixels(WD.screen);
648+
after_render(pixels / os_window->viewport_height * 2);
649649
w->cursor_visible_at_last_render = WD.screen->cursor_render_info.is_visible; w->last_cursor_x = WD.screen->cursor_render_info.x; w->last_cursor_y = WD.screen->cursor_render_info.y; w->last_cursor_shape = WD.screen->cursor_render_info.shape;
650650
}
651651
}
652-
after_render(pixels / os_window->viewport_height * 2);
653652
if (TD.screen && os_window->num_tabs >= OPT(tab_bar_min_tabs)) draw_cells(TD.vao_idx, 0, TD.xstart, TD.ystart, TD.dx, TD.dy, TD.screen, os_window, true, false);
654653
swap_window_buffers(os_window);
655654
os_window->last_active_tab = os_window->active_tab; os_window->last_num_tabs = os_window->num_tabs; os_window->last_active_window_id = active_window_id;

0 commit comments

Comments
 (0)