mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-15 16:26:08 +03:00
core: when over a link we must set the whole screen dirty on move
This commit is contained in:
@ -2795,16 +2795,7 @@ pub fn cursorPosCallback(
|
|||||||
if (self.mouse.link_point) |last_vp| {
|
if (self.mouse.link_point) |last_vp| {
|
||||||
// Mark the link's row as dirty.
|
// Mark the link's row as dirty.
|
||||||
if (over_link) {
|
if (over_link) {
|
||||||
// TODO: This doesn't handle soft-wrapped links. Ideally this would
|
self.renderer_state.terminal.screen.dirty.hyperlink_hover = true;
|
||||||
// be storing the link's start and end points and marking all rows
|
|
||||||
// between and including those as dirty, instead of just the row
|
|
||||||
// containing the part the cursor is hovering. This can result in
|
|
||||||
// a bit of jank.
|
|
||||||
if (self.renderer_state.terminal.screen.pages.pin(.{
|
|
||||||
.viewport = last_vp,
|
|
||||||
})) |pin| {
|
|
||||||
pin.markDirty();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// If our last link viewport point is unchanged, then don't process
|
// If our last link viewport point is unchanged, then don't process
|
||||||
|
Reference in New Issue
Block a user