mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-21 11:16:08 +03:00
terminal: cleaner impl of getTopLeft(.active)
This commit is contained in:
@ -2369,17 +2369,18 @@ pub fn getTopLeft(self: *const PageList, tag: point.Tag) Pin {
|
||||
// much faster because we don't need to update the top left. Under
|
||||
// heavy load this makes a measurable difference.
|
||||
.active => active: {
|
||||
var page = self.pages.last.?;
|
||||
var rem = self.rows;
|
||||
while (rem > page.data.size.rows) {
|
||||
rem -= page.data.size.rows;
|
||||
page = page.prev.?; // assertion: we always have enough rows for active
|
||||
}
|
||||
|
||||
break :active .{
|
||||
var it = self.pages.last;
|
||||
while (it) |page| : (it = page.prev) {
|
||||
if (rem <= page.data.size.rows) break :active .{
|
||||
.page = page,
|
||||
.y = page.data.size.rows - rem,
|
||||
};
|
||||
|
||||
rem -= page.data.size.rows;
|
||||
}
|
||||
|
||||
unreachable; // assertion: we always have enough rows for active
|
||||
},
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user