aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/headless.rs17
-rw-r--r--src/server/render_stream.rs8
2 files changed, 7 insertions, 18 deletions
diff --git a/src/server/headless.rs b/src/server/headless.rs
index 10df803d..d9227404 100644
--- a/src/server/headless.rs
+++ b/src/server/headless.rs
@@ -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]
diff --git a/src/server/render_stream.rs b/src/server/render_stream.rs
index 856a362f..45542a7a 100644
--- a/src/server/render_stream.rs
+++ b/src/server/render_stream.rs
@@ -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),
})
}