cursor is disabled instead of hidden now

This commit is contained in:
filipriec
2025-04-07 17:23:42 +02:00
parent 7830ebdb3b
commit 0e1fc3f5fa
2 changed files with 15 additions and 23 deletions

View File

@@ -14,6 +14,7 @@ use crate::state::pages::auth::AuthState;
use crate::state::canvas_state::CanvasState;
use crate::modes::handlers::event::EventHandler;
use crate::state::state::AppState;
use crossterm::cursor::SetCursorStyle;
pub async fn run_ui() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::load()?;
@@ -66,20 +67,19 @@ pub async fn run_ui() -> Result<(), Box<dyn std::error::Error>> {
let current_mode = ModeManager::derive_mode(&app_state, &event_handler);
match current_mode {
AppMode::Edit => {
terminal.show_cursor()?;
}
AppMode::ReadOnly => {
if !app_state.ui.focus_outside_canvas {
terminal.show_cursor()?;
} else {
terminal.hide_cursor()?;
}
}
AppMode::General => {
terminal.hide_cursor()?;
}
AppMode::Command => {
terminal.hide_cursor()?;
terminal.show_cursor()?;
}
AppMode::ReadOnly => {
if !app_state.ui.focus_outside_canvas {
terminal.set_cursor_style(SetCursorStyle::SteadyBlock)?;
} else {
terminal.set_cursor_style(SetCursorStyle::SteadyUnderScore)?;
}
terminal.show_cursor()?; // Ensure visible
}
AppMode::General | AppMode::Command => {
terminal.set_cursor_style(SetCursorStyle::SteadyUnderScore)?;
terminal.show_cursor()?; // Ensure visible (though might not be positioned meaningfully)
}
}
// --- End Cursor Visibility Logic ---