diff options
author | Jesse Luehrs <doy@tozt.net> | 2022-01-02 20:04:27 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2022-01-02 20:07:20 -0500 |
commit | 94faf261af579dcfcd0e41ee9be62b5843870b4b (patch) | |
tree | c2b0ef16d46101c0e910cf41086dfc777ae9fd03 /src | |
parent | 2061c85d03ab948a0e935856a0220ddd4842eda4 (diff) | |
download | nbsh-94faf261af579dcfcd0e41ee9be62b5843870b4b.tar.gz nbsh-94faf261af579dcfcd0e41ee9be62b5843870b4b.zip |
this doesn't need its own separate event
Diffstat (limited to 'src')
-rw-r--r-- | src/event.rs | 10 | ||||
-rw-r--r-- | src/state/history/pty.rs | 15 | ||||
-rw-r--r-- | src/state/mod.rs | 2 |
3 files changed, 1 insertions, 26 deletions
diff --git a/src/event.rs b/src/event.rs index 62a12c8..4280185 100644 --- a/src/event.rs +++ b/src/event.rs @@ -3,7 +3,6 @@ pub enum Event { Key(textmode::Key), Resize((u16, u16)), ProcessOutput, - ProcessAlternateScreen, ProcessExit, ClockTimer, } @@ -55,7 +54,6 @@ struct Pending { key: std::collections::VecDeque<textmode::Key>, size: Option<(u16, u16)>, process_output: bool, - process_alternate_screen: bool, process_exit: bool, clock_timer: bool, done: bool, @@ -71,7 +69,6 @@ impl Pending { || !self.key.is_empty() || self.size.is_some() || self.process_output - || self.process_alternate_screen || self.process_exit || self.clock_timer } @@ -90,10 +87,6 @@ impl Pending { self.process_exit = false; return Some(Event::ProcessExit); } - if self.process_alternate_screen { - self.process_alternate_screen = false; - return Some(Event::ProcessAlternateScreen); - } if self.clock_timer { self.clock_timer = false; return Some(Event::ClockTimer); @@ -113,9 +106,6 @@ impl Pending { Some(Event::Key(key)) => self.key.push_back(key.clone()), Some(Event::Resize(size)) => self.size = Some(*size), Some(Event::ProcessOutput) => self.process_output = true, - Some(Event::ProcessAlternateScreen) => { - self.process_alternate_screen = true; - } Some(Event::ProcessExit) => self.process_exit = true, Some(Event::ClockTimer) => self.clock_timer = true, None => self.done = true, diff --git a/src/state/history/pty.rs b/src/state/history/pty.rs index 387134e..015bb0c 100644 --- a/src/state/history/pty.rs +++ b/src/state/history/pty.rs @@ -67,20 +67,7 @@ async fn pty_task( match read.race(write).race(resize).or(close).await { Res::Read(res) => match res { Ok(bytes) => { - let mut entry = entry.lock_arc().await; - let pre_alternate_screen = - entry.vt.screen().alternate_screen(); - entry.vt.process(&buf[..bytes]); - let post_alternate_screen = - entry.vt.screen().alternate_screen(); - if entry.fullscreen.is_none() - && pre_alternate_screen != post_alternate_screen - { - event_w - .send(crate::event::Event::ProcessAlternateScreen) - .await - .unwrap(); - } + entry.lock_arc().await.vt.process(&buf[..bytes]); event_w .send(crate::event::Event::ProcessOutput) .await diff --git a/src/state/mod.rs b/src/state/mod.rs index 09ca113..c7ee741 100644 --- a/src/state/mod.rs +++ b/src/state/mod.rs @@ -176,8 +176,6 @@ impl State { matches!(self.focus, Focus::Scrolling(_)), ) .await; - } - crate::event::Event::ProcessAlternateScreen => { self.scene = self.default_scene(self.focus, None).await; } crate::event::Event::ProcessExit => { |