fix: omit cursor for mobile switcher overlay

This commit is contained in:
Ogulcan Celik
2026-05-12 01:21:09 +03:00
parent b8c96102eb
commit f88f33e2d9
2 changed files with 7 additions and 18 deletions
+2 -15
View File
@@ -1963,7 +1963,7 @@ mod tests {
}
#[tokio::test]
async fn virtual_render_hides_focused_pane_cursor_while_mobile_switcher_open() {
async fn virtual_render_omits_focused_pane_cursor_while_mobile_switcher_open() {
let mut state = AppState::test_new();
let mut ws = crate::workspace::Workspace::test_new("test");
let pane_id = ws.tabs[0].root_pane;
@@ -1980,21 +1980,8 @@ mod tests {
let area = Rect::new(0, 0, 44, 24);
let (_buffer, cursor) =
crate::server::render_stream::render_virtual(&mut state, area, true);
let pane = state
.view
.pane_infos
.iter()
.find(|info| info.id == pane_id)
.expect("focused pane info");
assert_eq!(
cursor,
Some(CursorState {
x: pane.inner_rect.x + 4,
y: pane.inner_rect.y,
visible: false,
})
);
assert_eq!(cursor, None);
}
#[tokio::test]
+5 -3
View File
@@ -246,6 +246,10 @@ pub(crate) fn visible_hyperlinks(app_state: &AppState) -> Vec<((u16, u16), Strin
}
fn focused_terminal_cursor(app_state: &AppState) -> Option<CursorState> {
if app_state.mode != Mode::Terminal {
return None;
}
let ws_idx = app_state.active?;
let ws = app_state.workspaces.get(ws_idx)?;
let info = app_state
@@ -258,8 +262,6 @@ fn focused_terminal_cursor(app_state: &AppState) -> Option<CursorState> {
Some(CursorState {
x: cursor.x,
y: cursor.y,
visible: app_state.mode == Mode::Terminal
&& cursor.visible
&& !crate::ui::pane_is_scrolled_back(rt),
visible: cursor.visible && !crate::ui::pane_is_scrolled_back(rt),
})
}