fix(panes): when focusing pane off the tab edge, break ties with active_at instead of y (#4037)

* fix(panes): when focusing pane off the tab edge, break ties with active_at instead of y

* docs(changelog): update pr
This commit is contained in:
Aram Drevekenin 2025-03-03 13:45:38 +01:00 committed by GitHub
parent 736d43b138
commit f096dc7b88
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 4 deletions

View file

@ -38,6 +38,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
* chore(repo): update some dependencies (https://github.com/zellij-org/zellij/pull/4019)
* fix(grid): reap sixel images on clear (https://github.com/zellij-org/zellij/pull/3982)
* fix(panes): properly render stacked panes when pane frames are disabled (https://github.com/zellij-org/zellij/pull/4035)
* fix(panes): break ties by last focus time when focusing panes on screen edge (https://github.com/zellij-org/zellij/pull/4037)
## [0.41.2] - 2024-11-19
* fix(input): keypresses not being identified properly with kitty keyboard protocol in some terminals (https://github.com/zellij-org/zellij/pull/3725)

View file

@ -1044,28 +1044,28 @@ impl<'a> TiledPaneGrid<'a> {
Direction::Left => {
let x_comparison = a.x().cmp(&b.x());
match x_comparison {
Ordering::Equal => b.y().cmp(&a.y()),
Ordering::Equal => a.active_at().cmp(&b.active_at()),
_ => x_comparison,
}
},
Direction::Right => {
let x_comparison = b.x().cmp(&a.x());
match x_comparison {
Ordering::Equal => b.y().cmp(&a.y()),
Ordering::Equal => a.active_at().cmp(&b.active_at()),
_ => x_comparison,
}
},
Direction::Up => {
let y_comparison = a.y().cmp(&b.y());
match y_comparison {
Ordering::Equal => a.x().cmp(&b.x()),
Ordering::Equal => a.active_at().cmp(&b.active_at()),
_ => y_comparison,
}
},
Direction::Down => {
let y_comparison = b.y().cmp(&a.y());
match y_comparison {
Ordering::Equal => b.x().cmp(&a.x()),
Ordering::Equal => a.active_at().cmp(&b.active_at()),
_ => y_comparison,
}
},