mirror of
https://github.com/veeso/termscp.git
synced 2025-12-07 09:36:00 -08:00
context enter_alternate_screen leave_alternate_screen clear_screen
This commit is contained in:
@@ -32,8 +32,8 @@ use super::input::InputHandler;
|
|||||||
use crate::host::Localhost;
|
use crate::host::Localhost;
|
||||||
|
|
||||||
// Includes
|
// Includes
|
||||||
use crossterm::execute;
|
|
||||||
use crossterm::event::DisableMouseCapture;
|
use crossterm::event::DisableMouseCapture;
|
||||||
|
use crossterm::execute;
|
||||||
use crossterm::terminal::{EnterAlternateScreen, LeaveAlternateScreen};
|
use crossterm::terminal::{EnterAlternateScreen, LeaveAlternateScreen};
|
||||||
use std::io::{stdout, Stdout, Write};
|
use std::io::{stdout, Stdout, Write};
|
||||||
use tui::backend::CrosstermBackend;
|
use tui::backend::CrosstermBackend;
|
||||||
@@ -59,9 +59,29 @@ impl Context {
|
|||||||
Context {
|
Context {
|
||||||
local,
|
local,
|
||||||
input_hnd: InputHandler::new(),
|
input_hnd: InputHandler::new(),
|
||||||
terminal: Terminal::new(CrosstermBackend::new(stdout)).unwrap()
|
terminal: Terminal::new(CrosstermBackend::new(stdout)).unwrap(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn enter_alternate_screen(&mut self) {
|
||||||
|
let _ = execute!(
|
||||||
|
self.terminal.backend_mut(),
|
||||||
|
EnterAlternateScreen,
|
||||||
|
DisableMouseCapture
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn leave_alternate_screen(&mut self) {
|
||||||
|
let _ = execute!(
|
||||||
|
self.terminal.backend_mut(),
|
||||||
|
LeaveAlternateScreen,
|
||||||
|
DisableMouseCapture
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn clear_screen(&mut self) {
|
||||||
|
let _ = self.terminal.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Drop for Context {
|
impl Drop for Context {
|
||||||
|
|||||||
Reference in New Issue
Block a user