diff options
author | Kyohei Uto <im@kyoheiu.dev> | 2024-02-04 05:37:50 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-04 05:37:50 +0900 |
commit | 8c09f6102acb91102cf57ff8c9654a768b65b6e4 (patch) | |
tree | baafabecc4264cf03d5d38f202d18497e49b676a | |
parent | 7296e1ecd7e50369e3a27802c2b1e5789626dd7e (diff) | |
parent | 7f025ab3cd553633c5746f6b05524d1bfdcfc444 (diff) |
Merge pull request #275 from kyoheiu/fix/tmux-restore-position
Explicitly save the position before entering the alternate screen
-rw-r--r-- | src/run.rs | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -8,7 +8,7 @@ use super::session::*; use super::state::*; use super::term::*; -use crossterm::cursor::RestorePosition; +use crossterm::cursor::{RestorePosition, SavePosition}; use crossterm::event::{self, Event, KeyCode, KeyEvent, KeyEventKind, KeyModifiers}; use crossterm::execute; use crossterm::terminal::{EnterAlternateScreen, LeaveAlternateScreen}; @@ -153,8 +153,9 @@ pub fn run(arg: PathBuf, log: bool) -> Result<(), FxError> { /// Run the app. (Containing the main loop) fn _run(mut state: State, session_path: PathBuf) -> Result<(), FxError> { - //Enter the alternate screen with crossterm + //Save the current cursor position and enter the alternate screen with crossterm let mut screen = stdout(); + write!(screen, "{}", SavePosition)?; enter_raw_mode(); execute!(screen, EnterAlternateScreen)?; |