parent
a06fdad034
commit
3bff3bcbe4
@ -69,6 +69,8 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
|
|||||||
- Fix colors in scrollback pager off if the window has redefined terminal
|
- Fix colors in scrollback pager off if the window has redefined terminal
|
||||||
colors using escape codes (:iss:`2381`)
|
colors using escape codes (:iss:`2381`)
|
||||||
|
|
||||||
|
- Fix selection not updating properly while scrolling (:iss:`2442`)
|
||||||
|
|
||||||
- Workaround for bug in less that causes colors to reset at wrapped lines
|
- Workaround for bug in less that causes colors to reset at wrapped lines
|
||||||
(:iss:`2381`)
|
(:iss:`2381`)
|
||||||
|
|
||||||
|
|||||||
@ -2188,6 +2188,7 @@ scroll(Screen *self, PyObject *args) {
|
|||||||
bool
|
bool
|
||||||
screen_is_selection_dirty(Screen *self) {
|
screen_is_selection_dirty(Screen *self) {
|
||||||
IterationData q;
|
IterationData q;
|
||||||
|
if (self->scrolled_by != self->last_rendered.scrolled_by) return true;
|
||||||
iteration_data(self, &self->selection, &q, 0, true);
|
iteration_data(self, &self->selection, &q, 0, true);
|
||||||
if (memcmp(&q, &self->last_rendered.selection, sizeof(IterationData)) != 0) return true;
|
if (memcmp(&q, &self->last_rendered.selection, sizeof(IterationData)) != 0) return true;
|
||||||
iteration_data(self, &self->url_range, &q, 0, true);
|
iteration_data(self, &self->url_range, &q, 0, true);
|
||||||
|
|||||||
@ -85,7 +85,7 @@ typedef struct {
|
|||||||
Selection selection, url_range;
|
Selection selection, url_range;
|
||||||
struct {
|
struct {
|
||||||
IterationData selection, url;
|
IterationData selection, url;
|
||||||
unsigned int cursor_x, cursor_y;
|
unsigned int cursor_x, cursor_y, scrolled_by;
|
||||||
} last_rendered;
|
} last_rendered;
|
||||||
bool use_latin1, is_dirty, scroll_changed, reload_all_gpu_data;
|
bool use_latin1, is_dirty, scroll_changed, reload_all_gpu_data;
|
||||||
Cursor *cursor;
|
Cursor *cursor;
|
||||||
|
|||||||
@ -344,6 +344,7 @@ cell_prepare_to_render(ssize_t vao_idx, ssize_t gvao_idx, Screen *screen, GLfloa
|
|||||||
send_graphics_data_to_gpu(screen->grman->count, gvao_idx, screen->grman->render_data);
|
send_graphics_data_to_gpu(screen->grman->count, gvao_idx, screen->grman->render_data);
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
|
screen->last_rendered.scrolled_by = screen->scrolled_by;
|
||||||
return changed;
|
return changed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user